2011年5月19日木曜日

【Android】アプリを終了させる

マルチタスクがウリのAndroidですが、アプリから自分自身を終了させたい場合があると思います。

とりあえず3つほど方法を

①System.exit();
文字通り強制終了です。Activityのライフサイクルも無視しますからおすすめできないと思います。
もしかすると予想だにしない動作をする可能性があります。

②ActivityManager.restartPackage(PackageName);
なんか正統派な気がするようなww
ただ同一アプリ内でonPause中のActivityがあるとそれが起動します。
ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());

③Activity.moveTaskToBack(true);
これは該当するアプリのActivityをすべてonPause()状態にします。ですので復帰時にはonCreate()は通りません。
基本的にホームボタンを押したときと同じ動作です。

④Activity.finish()
こちらは③と違い、ActivityをDestryしますが、あくまでActivity単位ですのでアプリまるごと終了というわけではありません。戻るボタンを押したときと同じです。

ちなみにマニフェストにを記述するとActivityをスタックしなくなります。
ということはfinish()すればすべて終了しますね。ただし戻れないActivityになります。

ブルーレイドライブ 再生スペック

STARWARSコンプリートサーガが発表されましたね。

今まで見向きもしなかったブルーレイの再生環境が必要になりそうです。

PC用のドライブを買うか、またはテレビで見るようなプレーヤーにするか悩みどころです。

PC用のドライブだとハードスペックがネックになるようです。折角買ったのにカクカクじゃたまらん
そこでこんなの発見↓↓

自分のパソコンでBlu-rayが問題なく再生できるかどうかが数秒でわかるフリーソフト
http://gigazine.net/news/20090114_blu_ray_disc_advisor/

PS3買うっていう選択肢もありましたね笑

【Android】画像のトリミング

GridViewに画像の部分的なものを並べたい要求があったので、Bitmapを切断するViewを渡してみた。


private class GridImageView extends ImageView{

public GridImageView(Context context) {
super(context);
}

public Bitmap cutBitmap(Bitmap bmp) {
Bitmap result = Bitmap.createBitmap(bmp.getWidth() / 3 ,bmp.getHeight() ,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(result);
canvas.drawBitmap(bmp, 0, 0, null);
return result;
}
}

とりあえず横に3等分して真ん中だけ表示する感じ。

2011年5月6日金曜日

Goproで車載動画【SR400】

会社から借りたGoproでゴールデンウィークのツーリング中車載動画を撮影してみました。

マウント方法は付属の吸盤でタンクに設置しています。撮影道路は国道最高地点で有名な志賀草津道路です。

【Android】TexiViewの文字に縁取り

当たり前ですが、白い背景に白い文字だと縁取りとかしないと見えなくなりますよね?

だからといって他の色と言っても、背景が可変の場合そうもいかず縁取りが欲しくなると思います。

結論から言いますと、TextViewでは厳密な意味での縁取りはできません。Viewを自作してdrawtextでなんとかするしかないです。

ただ、影は付けれます。自分的にはこれで満足です。

setShadowLayer(float radius, float dx, float dy, int color);

xmlで指定することもできます。Texiview シャドウとかググると色々出てきます。

2011年5月2日月曜日

Activity名文字列からintent発行

なぜか気がつかなかったのでメモ。


明示intentの引数はClassですので、通常Activity.classにします。

Activity名を文字列変数などで格納している場合Class.forName("Activity")で起動できた。
当たり前ですね。

ゲームのセーブ機能なんかに使えるかな?

2011年5月1日日曜日

戻れないActivityをつくる

Androidで戻れないActvityをつくるには?


Intent発行したらfinish()メソッド実行するだけでした