AsyncTaskLoader の使い方 (2-3/8) 〜 AsyncTaskLoader の利点/LoaderManager の利用

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する


2. AsyncTaskLoader の利点

AsyncTaskLoader だけでなく Loader 全般。

Activity や Fragment は再作成後、同一の Loader に再接続して最終の結果を取得できる。

もし Loader が切断されたあと結果がきたら、再作成時の再接続時のためにキャッシュに保存することができる。

Loader はデータソースを監視しており、内容が変更されると新しい結果を提供する。

Cursor のような結果に関連したリソースに割り当てしてくれる。

これらのことから、Activity や Fragment における非同期なロードを実行する場合は Loader の助けを借りて、もう AsyncTask を使うべきではありません。

続きを読む >>


AsyncTaskLoader の使い方 (1/8) 〜 Thread と AsyncTask

もう非同期処理では、あたりまえなのだろうが、まとめておかないとすぐに忘れる。

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

1. Thread と AsyncTask
2. AsyncTaskLoader の利点
3. LoaderManager の利用
4. よくある間違いと回避法
5. 基本的な Loader の実装
6. いろいろな Loader の使用例
7. データベースと CursorLoader
8. Loader の弱点を克服する


1. Thread と AsyncTask

まずは、非同期処理ではおなじみのThread。

めんどくさいことがいくつかある。

  • メインスレッドに結果を戻す必要がある。
  • 手動でキャンセルしなければならない。
  • スレッドをプールしたければ独自実装しなければならない。

でそこらに対応した AsyncTask。以下の特徴をもつ。

  • 結果をメインスレッドに送ってくれる。
  • スケジュールは管理されている。
  • キャンセル処理も可能。
  • 進行状況が取得できる。

続きを読む >>


【開発者必見】Android OS バージョン 2系を切り捨てるのはいつなのか?

今となってはうざいのがAndroidOSバージョン2.xの対応。

Dashboards___Android_Developers

割合としてはまだまだ多くのユーザーが利用していますので、2014年を迎えたばかりの今でも無視することはできません。国内2年縛りも影響しているのでしょうか。

以前は、Dashboards | Android Developers に、毎月の断片的な円グラフだけでなく、バージョンごとの比率経過が分かるグラフが掲載されていたのですが今では見えなくなっています。

で、開発時に下位互換を目的としたサポートライブラリが公開されてはいるのですが、それはそれで記述が違ったり、バグがあるとかどうのこうのでなんだか検証とかめんどうだったりします。

stackoverflow などでも混乱具合が目立っているようにも見えたりします。

Highest Voted 'android-support-library' Questions - Stack Overflow

Highest_Voted__android-support-library__Questions_-_Stack_Overflow

もう昔のことは忘れて新しいことをやりましょう、などと思ってもユーザーを放っておくわけにもいきません。

最近は、Google も GooglePlayと連携したコアなライブラリともいえる Google Play Service ライブラリを、2.2(Froyo)を対象から外したりしています。(別に froyo向けライブラリを区別して公開。)

このとき、2.2(Froyo)の割合は、5%未満といわれています。

Set Up Google Play Services SDK | Android Developers

A compatible Android device that runs Android 2.3 or higher and includes Google Play Store.

Android SDKでは、タブレットなどを考慮した4系とそれまでの2系で大きく機能や実装方法が変わってきましたので、残りの2系(2.3)はいつになったらユーザー割合が3%ぐらいとなって、忘れることができるのでしょうか。

OS開発のマイルストンもロードマップも調べずに視覚的にテキトー予想してみました。

続きを読む >>