タグ

ブックマーク / www.kojion.com (4)

  • コジオニルク - Android - DialogFragment

    Android - DialogFragment 何故DialogFragmentか Android Support Packageが登場する以前のダイアログの表示の仕方は以下のようなものだった。 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Activity.sho

  • コジオニルク - Android - GCMとC2DM

    Android - GCMとC2DM C2DM(Cloud to Device Messaging) と言えば、「Android 2.2と言えばC2DM」と言われる位に期待された新技術であり、筆者は2年前にAndroid 2.2対応端末がまだ一般的でなく泣く泣くC2DMの採用を諦めてポーリングでの実装を行ったりした事もあった。しかし昨今はAndroid 2.2以上としてアプリを作成する事もバージョン分布から見ても抵抗が無くなり、積極的に使っていけるようになっている。 そんな感じで筆者は現在職場で作業しているアプリ等では楽しくC2DMを使用していたわけなのだが、 2012年6月26日にGoogleがGCMという完全上位互換の技術を作ったのでC2DMは非推奨となりました!速やかに移行してください!と言い出して目が点になった。 サーバを絡めたクライアントサイドのアプリケーションの移行を下位互換性

  • コジオニルク - Android - AsyncTaskLoader

    Loaderを使用する意図 今まで、HTTP通信などの時間がかかる処理を行う場合はAsyncTaskを用いて非同期処理を行い、SQLiteデータベースとのやり取りを行う場合はCursorを用いてstartManagingCursor()で Activityのライフサイクルに依存させるのが定番の実装であった。 が、AsyncTaskの場合はUIスレッドで行う処理を記述するonPreExecute()やonPostExecute()の実装がどうしてもActivityに依存してしまう為、 各Activityのインナークラスとして定義せざるを得なかった。その為、筆者は「元となる共通化されたAsyncTaskを定義し、それをextendsしたものを各Activity内でインナークラスとして定義する」 といったような実装をしていた。こうすると、各Activity内ではonPreExecute()とon

    astk_f
    astk_f 2013/01/14
    "onLoaderReset()は再利用ではなく完全に破棄の場合に呼ばれるようだ" 紛らわC!
  • コジオニルク - Android - Android 2.xでActionBar

    Android 2.xでActionBarを使いたい 現役でAndroidアプリを開発されている方々は恐らくminSdkVersionを4-8(Android 1.6~2.2)にして開発されている事と思う。 しかし、Android 1.6~2.3と3.0以降のUI、及び開発手法はかなり異なったものとなっており、2.3以前の「常識」が通用しなくなっている。 (厳密には通用するのだが、UIガイドラインが変更されている事により古い開発手法が軒並み「deprecated」になっている) 向上心が強いAndroidプログラマであれば、新しい手法を率先して学んでいきたいし使って行きたいと思うことだろう。 だが、実際問題として、2012年6月現在でもやっと最新機種はICSに移行してきてはいるものの、依然として2.xの端末を使用している場合が圧倒的に多い。 そんな用途に対応するために、GoogleのDev

  • 1