AsyncTaskLoader の使い方 (7/8) 〜 データベースと CursorLoader

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

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


7. データベースと CursorLoader

CursorLoader は ContentProviders 照会専用のローダです

結果としてデータベースカーソルを返す。

AsyncTaskLoaderを継承したバックグランドスレッドでデータベースクエリーを実行します。

Acitivityのライフサイクルに応じて、Activity.startManagingCursor(Cursor c) やカーソルのライフサイクルの管理を置き換えます。
→ close() は呼ばない。

データベースを監視し、データが変更された新しいカーソルを返します。
→ requery() は呼ばない。

ListFragment内 CursorAdapterでの使い方

@Override 
public Loader<Cursor> onCreateLoader(int id, Bundle args) { 
    return new BookmarksLoader(getActivity(), 
        args.getDouble("latitude"), args.getDouble("longitude")); 
}

@Override 
public void onLoadFinished(Loader<Cursor> loader, Cursor data) { 
    adapter.swapCursor(data); 
    // The list should now be shown. 
    if (isResumed()) { 
        setListShown(true); 
    } else { 
        setListShownNoAnimation(true); 
    } 
}

@Override 
public void onLoaderReset(Loader<Cursor> loader) { 
    adapter.swapCursor(null); 
}

続きを読む >>


WordPress 3.8 に Twitter のつぶやきが埋め込みで表示されなくなった場合

wordpress って Twitter のつぶやきの埋め込みが簡単にできていたのですが、できなくなった。

以下のように、URLをエディタから貼り付けるだけで表示されていたのですが。

https://twitter.com/maochanz/status/426253155232268288

調べてみるとどうやら Twitter API 変更に wordpress側が追いついてないような。

_26844__Twitter_oembeds_not_working_because_of_Twitter_API_change__–_WordPress_Trac

更新版はまだ配布されたないようなのでコードを書き換えちゃいましょう。

続きを読む >>


Android 4.5 で root なアプリが使えなくなったときのために

20140122-173610

実際はどうなるのか。

1週間ほど前にAOSPのMasterツリーで行われた2つのコミットによって、/data配下のunconfinedドメイン(SELinuxによって制限されないプロセス)のアプリからSupersuerを実行できなくなってしまうというのです。これにより、/dataパーティションのrootアプリから、Superuser権限のコマンドを実行することができなくなってしまいます。

Android 4.5?Android 5.0?で現行のrootアプリとの互換性が失われる可能性大 | juggly.cn Android 4.5?Android 5.0?で現行のrootアプリとの互換性が失われる可能性大 | juggly.cn

開発中のAndroid OS のコードの中に「root排除方向な記述があった」ということのようです。

そのうち、rootedなアプリが使えなくなったときのために、関連ページをまとめておこうか、と。

続きを読む >>