2013年4月22日月曜日

アプリのアイコン解像度一覧


作成したアプリにはアイコンを作らないといけません。
フリーのアイコンを使用するのが一番かもしれませんが、
ちょっとした同一性の保持だとか色々著作が面倒そうなので
私はエクセルで作成しています。

アイコンのデザインが気に入らない場合は
アイコンを変換するアプリもあるのでやっつけ仕事です。
高解像度アイコン一つあればいいのでは?とも思います。

GooglePlayの新開発管理画面のスクリーンショット登録が楽になったのはよかった。
いままではQHDのSSを受け付けてくれませんでしたから・・・

ANDROID用
アプリ用アイコンサイズ一覧
36 x 36
48 x 48
72 x 72
96 x 96
114 x 114 ※アマゾン
512 x 512 高解像度アイコン

宣伝プロモーション用  JPEG または PNGはアルファ無し
180 x 120 ※Googleプロモーション画像
1,024 x 500 ※Google宣伝用

スクリーンショット   JPEG または PNGはアルファ無し
AMAZONはQHD以外
Googleはすべての画面サイズに対応

ついでにアイホーン用のアイコン解像度一覧
IOS用
App Store
57 × 57
114 × 114
ホーム画面
72 × 72
144 × 144 ※Retina用
設定画面
29 × 29
58 × 58 ※Retina
Spotlight
50 × 50
100 × 100 ※Retina用
iTunes
512 × 512
1024 × 1024 ※Retina用)

2013年4月20日土曜日

PC購入時の長期保証の注意点

PCの長期保証に入るかの目安は、購入するPCの値段販売店の保証内容によります。

すべての家電製品基本的に1年のメーカー保証があります。
購入時のレシートさえあればメーカー保証が効きます。

私の経験上、PCは一年動けば三年以上故障する事はありません。
ディスプレイはLEDになったお陰でバックライトの故障率が半分以下になりました。
よほど酷使しなければ二年目以降は安定して動いてくれています。

それと、すべての販売店の長期保証が二年目以降の100%の修理金額を負担してくれるとは限りません。

長期保証≠期間内に壊れても無料修理

長期保証の内容は販売店によって異なります。
送料や修理代金がどのくらい割引されるかを確認しましょう。

ノートPCの場合は落下や水没は保険の対象であるかも重要です。

ムーアの法則然り、値段と保証額(保証内容)の釣り合いを計算しましょう。

私的には、その時代毎に値段と性能のバランスが良い物を購入するのがベストだと思います。
現在開発に使っている6年前のややハイエンドなノートPCよりも
最新のセレロンノートPCのほうが性能が高いですし。。

attachNewPlayer called in state 8 mediaplayerエラー番号一覧

メディアプレイヤーを扱っていると何かと見る機会が多いエラーcalled in state
以下のリストで状態遷移図と照らし合わせることができます。

media_player_statesのエラー番号一覧


  enum media_player_states {
      MEDIA_PLAYER_STATE_ERROR        = 0,
      MEDIA_PLAYER_IDLE               = 1 << 0,
      MEDIA_PLAYER_INITIALIZED        = 1 << 1,
      MEDIA_PLAYER_PREPARING          = 1 << 2,
      MEDIA_PLAYER_PREPARED           = 1 << 3,
      MEDIA_PLAYER_STARTED            = 1 << 4,
      MEDIA_PLAYER_PAUSED             = 1 << 5,
      MEDIA_PLAYER_STOPPED            = 1 << 6,
      MEDIA_PLAYER_PLAYBACK_COMPLETE  = 1 << 7
  };


※<<はビット操作演算子の左シフトです。
つまり十進数で1<<2=4、1<<0=1


2013年4月19日金曜日

アンドロイドアプリのリリース前に注意すること

1,アプリをSDカードに自動でインスト―ルされるようにする
マニュフェストファイルのmanifestタグに以下を追記するだけで
ユーザがアプリをSDカードへ移動する手間を省ける。
android:installLocation="preferExternal"
旧式の端末は内蔵メモリが少ないので特に気を使うべき

2,拡張ファイルを使用する場合はダウンロードプログラムも含める
SDカードの交換などでアプリを移動させたときにOBBファイルが見つからなくなってしまう。

3.コンテンツレーディング
性的、暴力的な表現などはレーディング高く設定する必要がある。
GPSやメッセージの交換などにも注意が必要。

※preferExternalはANDROID2.2以上
※拡張ファイルはANDROID2.3以上

2013年4月18日木曜日

スマフォの電池をもたせるには

スマフォの電池を長持ちさせるには無駄なアプリの無効化が有効です。

しかし、もっと確実な方法があります。

モバイル充電器を持ち運べばいい!

スマフォの設定をどんなに弄ってもたかが知れています。

通常のスマフォの数倍の容量のバッテリーでもスマフォ本体とサイズ的にはあまり変わりません。

大容量の互換バッテリーに付け替えてもたかが知れています。

例えば以下の製品なら10,400mAh(iPhone、スマフォ約5回分)を現在のバッテリーにプラスする事ができます。

この製品はボタンを押す事でLEDライトにもなります(LEDライトとして使われるようにも設計されています。六日間点灯持続
さらに保護機構も優れています。(放電や過充電、ショートなど

2013年4月14日日曜日

ANDROID用ゲームコントローラー

PS3のコントローラーをスマホに取り付けるアタッチメントが発売になりました。



タッチパネルはアクションゲームには向いていないので物理コントローラーがほしいと思っていました。
PS3のコントローラーを取り付けるタイプ以外にもいろいろあるようですが、
ゲームハードメーカーのコントローラー以外は使いにくく壊れやすいのでPS3のゲームコントローラーがベストです

アタッチメント型のゲームコントローラーが普及してくれれば、ANDROIDゲームの幅が広がります。

携帯ゲーム機=スマホ

ANDROID向けのエミュレーターなども無料で手に入りますし。
物理ボタン以外の機能はゲーム機以上です。
ゲーム機としてのANDROIDが広まるかもしれません。

ヘビーゲーマー向けのゲームが増えてくれればと思います。


2013年4月12日金曜日

オススメフリーソフト 複数のファイルを一括管理

複数のファイルを管理するためのフリーソフト

・サクラエディタ
フリーの人気テキストエディタです。
マクロはもちろん。正規表現。グレップ&置き換えも可能。

・バイナリ書き替え君
複数のファイルのバイナリを一括書き換えできる。
偶々使用しているフリーソフト。

・FlexRena
複数のファイル名を一括変換できる。
条件付けや連番も可能。

・SimiPix
類似画像ファイルを見つけて削除することができる。

・Stripper
画像ファイルの余計なヘッダ情報を削除してくれる。
JPG、PNGなど多数の形式に対応。ドラック&ドロップできる。

・audacity
複数の音声ファイルのノイズ除去、無音分割、無音カットなどできる。
クリック音(クラック)などの不快な音も消してくれる。

・DiskDigger
消してしまったデータ、HDD、SDカード、フラッシュメモリを復元してくれる。
フリー版は待ち時間があるので大量のファイルには向かない

その他

・CdManipulator
光ディスクをイメージファイルにできる。
DVDドライブが無いPCには必須。

・NEMACRO
マウスやキーボードをマクロ化できる

・PrimoPDF
仮想プリンタ、PDF出力できる。

・DF
ファイル比較ソフト。

・WinRAR
これだけシェアソフトですがファイルの解凍圧縮に便利。

2013年4月11日木曜日

WinXPとOffice2003のサポート終了と新製品への切り替えLibreOfficeとUbuntu

Microsoft WinXPのサポート終了が残り一年を切りました。

既に多くの企業が新OSへの切り替えを行っています。
まだXPを使用している企業は4割ほど存在すると統計が出ています。

サポートが切れたOSインターネットに接続するのは非常に危険です。
WinXPのようにファイアウォールが標準搭載されているOSだとしても
シェアが高いOSは狙われる事も多く危険です。

WEBサイトを管理している方ならアクセス情報を調べて統計を出す事が出来ます。
Win98が未だにインターネットに使用されていることもあります。

しかし、Win8とOffice2007以降は扱いが今までと事なり、何かと支障が出てきます。
特にOfficeはフリーのLibreOfficeで十分かもしれません。互換性も十分です。
どちらにしろ扱い方が変わるので無料のオフィスに切り替える企業も増えてきそうです。
実際に日本の市役所でもLibreOfficeへの切り替えを一部で行っています。

OSもUbuntuにしてしまえばコストをかなり抑えられます。

Win8→Ubuntu
MS Office→LibreOffice

どちらにせよ使い勝手が変わるのですから
現在使用のハードにLiveUSBで環境を作って使用するのがお金がかからなくて良い
古いPCでも快適に動作しますし。フリーソフトの配布形態に戸惑うかもしれませんが。
※USBメモリからUbuntuを起動できるので、OSを書き換える必要はない
※Linuxでは愛チューンは使用できませんので、Apple信者は脱会できません

2013年4月8日月曜日

複数の音声ファイルの無音部分とノイズ除去Audacity

フリーソフトのAudacityを使用すればMP3などの音声ファイルのノイズ除去を簡単に行う事が出来ます。
ドラッグ&ドロップで複数ファイルをまとめて処理する事も可能です。

複数ファイルのノイズ除去の方法

1、音声ファイルをウインドウにドロップする
2、適当なトラックのノイズ部分を選択する
3、メニューのエフェクトからノイズの除去を選択
4、ノイズプロファイルの取得をクリック
5、メニューの編集から選択→すべてを選択
6、もう一度、メニューのエフェクトからノイズの除去を選択
7、今度はOKをクリックする

以上でノイズ除去が完了

同様にメニューの編集から選択→すべてを選択して、
エフェクトから無音部分のトリミングも行う事ができる。

AudacityはOSSです。スパイウエアやアドウエアを含まない安全なフリーソフトです。


2013年4月6日土曜日

動的に内部リソースファイルを読み取るサンプル

Rクラスを使用した内部リソースの読み取りはハードコードのようなもので使い回しができません。
そこでファイル名を引数に方法を色々と考えました。

以下のサンプルではAssetフォルダ内のMP3ファイルを読み取ります。

private void XXX(String ファイル名){

   try {
AssetFileDescriptor afd = getAssets().openFd(ファイル名+".mp3");
mMediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
mMediaPlayer.prepare();

} catch (IllegalArgumentException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}

RAWフォルダも動的に読み取ることが可能ですが推奨されていません。

AssetやRawフォルダでなく、SRC内のリソースを読み取る事もできます。

画像の場合は
SRC/パッケージ/リソースフォルダXに画像ファイルが有る場合

bmp= BitmapFactory.decodeStream(getClass().getResourceAsStream(リソースフォルダX/ファイル名".qng"));

AssetやRawを使用する場合はファイル名に日本語を使用できません。※SRC下なら可能


PS2のコントローラーをPS3、PCで使用する

PS2のコントローラーをPS3、PCで使用する

PS3のコントローラーは高いですよね。
そこでコンバーターを使用してPS2のコントローラーを使うと安上がりです。
PS2のコントローラーなら中古で500円くらいで購入できますし。
PCのゲームコントローラーにもなります。

ゲーム機メーカー以外のUSBゲームコントローラーは高価な物でもすぐに壊れてしまいます。
反応速度もいまいちですし、使い心地もいまいちです。
コンパチ+SFやPSのコントローラーなら丈夫で反応も良好。
格闘ゲームはSSのコントローラーが使えればベストなんですけどね。

PS3、PCのコントローラーは以下の商品がお勧めです

2013年4月4日木曜日

スマホの不具合対応 電源が入らない カメラが起動しない XXが使えない

スマホには 電源が入らない カメラが起動しない XXが使えない
と言った不具合がよく発生します。

ソフトウエア寄りの不具合は再起動で直ります。

ハードウエア寄りの不具合はバッテリーを外すと直る事があります。

・長時間再起動しなかった場合の不具合一覧。
WIFIやGPS、bluetuothがオンにならない。
アプリケーションがSDカードに移動できない※移動可能なアプリで
カメラが起動しない。
バッテリーを充電できない。※赤点滅
端末が起動しない。
など。。

再起動の目安は1~2週間※バージョンによる
バッテリーは2~3カ月に一度くらい数分間外しておくといい

問題はバッテリーを外せない機種です。。キャリアとメーカの頑張り次第か。・

画質を落とさない無音カメラ

群馬の桜
2013桜の写真
カメラサイレンサ―のレビューを頂きありがとうございます。
EVO以外でも無音化出来る端末がいくつか報告がありました。
特に海外の方からは高い評価を頂いております。
しかしながら、まだまだ端末ごとの動作は安定しておりません。
ANDROID端末はハードもソフトも端末ごとに異なるため
全ての端末での動作を保証することは不可能かもしれません。
カメラではなくサイレンサ―だという事も制御を難しくしています。
かといっても、カメラの作成までは手が回らない現状です。

カメラサイレンサ―は画質を落とさない無音カメラです。
ダウンロードはこちら
https://play.google.com/store/apps/details?id=recitative.jpas&feature=search_result#?t=W251bGwsMSwxLDEsInJlY2l0YXRpdmUuanBhcyJd

//動作確認端末
HTC EVO 4G EX-mode 静音 Android2.3
HTC EVO WImax EX-mode 静音 Android2.3(ほぼ音はならない
HTC EVO 3D Z-mode 無音 Android4.0
root化無しで最高画質の撮影を無音にできる数少ないアプリです。
レストランでの料理の撮影や、寝ている子供の撮影に使用してください。
//動作している可能性が高い端末※報告が無いが使用されている
Lenovo A60 plus
HTC J ISW13HT
//動作報告端末
ARROWS Z ISW11F EX 静音
crane-pub X 無音
DIGNO ISW11K EX 静音
Kyocera Hydro C5170 ?

2013年4月3日水曜日

ボタンから背景色を変更するサンプルコード

クリックするごとにランダムで背景色を変更するサンプルです。
APILEVEL10から使用可能です。
背景色の指定はLinearLayoutに限りません


/**
 * 背景色の変更
 */
private Random mRan = new Random();

public void changeViewColor() {
    // 各レイアウトなど部品を指定
    final LinearLayout layout = (LinearLayout) this.findViewById(R.id.linearLayout);
    //ffで透過率を指定 ※後ろに背景がある場合
    layout.setBackgroundColor(0xff000000 | mRan.nextInt(0xffffff));
}



2013年4月1日月曜日

CSVファイルを読み込むサンプルコード

CSV形式のファイルをArraylistに取り込むサンプルコード



    private ArrayList<String>[] clist;//ここにデータを格納

//引数はファイル名、列数
public  ArrayList<String>[] CSV(String pass,int youso) {
       try {
         int count =0;
        clist = new ArrayList[youso];
                               //初期化
        while(count<youso){
        clist[count] =new ArrayList<String>();
        count++;
        }
         InputStream fin=null;

         fin= ActivityActivity.class.getResourceAsStream(pass);

         BufferedReader br = new BufferedReader(new InputStreamReader(fin));
         // 最終行まで読み込む
         String line = "";
         while ((line = br.readLine()) != null) {

           // 1行をデータの要素に分割
           StringTokenizer st = new StringTokenizer(line, ",");
                                int i=0;
           while (st.hasMoreTokens()) {
             // 1行の各要素をタブ区切りで表示
             String tmp= st.nextToken();
            clist[i].add(tmp);
            i++;
           }
          }
         br.close();

       } catch (FileNotFoundException e) {
         // Fileオブジェクト生成時の例外捕捉
         e.printStackTrace();
       } catch (IOException e) {
         // BufferedReaderオブジェクトのクローズ時の例外捕捉
         e.printStackTrace();
       }
return clist;
                 
    }

StringTokenizerを変える事でカンマ区切り以外にも変更できる。

Admob広告の実装サンプルコード

一番単純なAdmob広告の実装方法。
デバッグ指定もできるが、特別な動きさせないなら気にする必要はない。
任意のレイアウトを指定する事で広告の表示位置を調整できる。

onCreate{


        adView = new AdView(this, AdSize.BANNER,"固有識別コード");

    //広告の挿入するレイアウトを指定
        LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);

        // adView を追加
        layout.addView(adView);

        // 広告の表示を開始
        adView.loadAd(new AdRequest());




onDestroy{
       adView.destroy();
}

マニュフェストファイル

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>



その他の設定
libsにmobadのjarファイルを入れる
ビルドターゲットはAPI15以上にする※API14以下のプログラムであっても
proguardの警告を無視する

Project.proparties

# Project target.
target=android-15
proguard.config=proguard.cfg


proguard.cfg
-dontwarn com.google.ads.**
サンプルコード

シングルトンでデータ共有するサンプルコード


一つの資源を複数のクラスで使用するためのデザインパターンで
データを管理しやすくする

public class ComonClass {  
  
    private static ComonClass instance = new ComonClass();  
    private ComonClass(){}  

    public int i=0;//共有するデータをパブリックする

    public static ComonClass getInstance() {  
        return instance;  
    }  
            
}

/*各クラスでインポートして使用する

import パッケージ名.ComonClass;
 *使用する際にインスタンスを得る※NEWしない 
ComonClass objUser = ComonClass.getInstance(); 
 */


ライセンス認証の際にも使用することで不正対策にも応用できる

class MyLicenseCheckerCallback implements LicenseCheckerCallback {
        public void allow() {
ComonClass objUser = ComonClass.getInstance(); 
objUser.認証済み=OK

サンプルコード






起動時に描画、画面遷移をするにはサンプルコード

起動時に描画や画面遷移を行うには
onStartが終了後に動作させる必要があります。



@Override
protected void onStart() {
super.onStart();
auto();
}



private Handler handler= new Handler();
private void auto(){
handler.removeCallbacks(CallbackTimer);
handler.postDelayed(CallbackTimer, 100);//ミリ秒後にRUNを起動

}
 private Runnable CallbackTimer = new Runnable() {
        public void run() {
         //此処に命令を書く
        }
 };


背景を透明にするサンプルコード

マニュフェストファイルのテーマを Translucentにする事で画面を透明にできる。


    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent" >


もしくは、レイアウトファイルのバックカラーを指定で透明にすることができます。

    android:background="#00000000">

左二桁が透明度です。