AsyncTaskLoader の使い方 (6/8) 〜 いろいろな Loader の使用例

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

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


6. いろいろな Loader の使用例

代わりにグローバルなキャッシュ利用する

public abstract class GlobalCacheLoader<T> extends AsyncTaskLoader<T> { 
    ... 
    @Override 
    protected void onStartLoading() { 
        T cachedResult = getCachedResult(); 
        if (cachedResult != null) { 
            // 結果が利用可能であればすぐに配送
            deliverResult(cachedResult); 
        }
        if (takeContentChanged() || cachedResult == null) { 
            // 最終読み込み時のデータが変更されているか、
            // または、利用不可(null)の場合
            forceLoad(); 
        } 
    } 
    ... 
    protected abstract T getCachedResult(); 
}

データ監視部分

* onContentChanged() 
    Loader が開始されていたら forceLoad()、停止していたら フラグをセット。 
* takeContentChanged() 
    フラグの値を返して、クリアする。 
@Override 
protected void onStartLoading() { 
    if (mResult != null) { 
        deliverResult(mResult); 
    }
    if (takeContentChanged() || mResult == null) { 
        forceLoad(); 
    } 
}

続きを読む >>


AsyncTaskLoader の使い方 (5/8) 〜 基本的な Loader の実装

AsyncTaskLoader___Android_Developers

AsyncTaskLoader | Android Developers


目次

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


5. 基本的な Loader の実装

・ Loader 
    ベースとなる抽象化クラス。
・ AsyncTaskLoader 
    Loader の拡張。
・ CursorLoader 
    AsyncTaskLoader の拡張。 
    ContentsProvider 専用。

AsyncTaskLoader の制限事項

private static final int CORE_POOL_SIZE = 5; 
private static final int MAXIMUM_POOL_SIZE = 128; 
private static final int KEEP_ALIVE = 1; 
public static final Executor THREAD_POOL_EXECUTOR 
    = new ThreadPoolExecutor(CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, 
                                KEEP_ALIVE, TimeUnit.SECONDS, sPoolWorkQueue, sThreadFactory); 
private static volatile Executor sDefaultExecutor = THREAD_POOL_EXECUTOR;

内部的に ModernAsyncTask を使用している。

重要: ローダーにアプリケーションのコンテキストの参照のみを保持させることでリークを避ける。

/** 
 * コンテキストに関連付けられているアプリケーション·コンテキストを格納する。
 * ローダーは複数のアクティビティで使用できるので、直接コンテキストを保存することは危険。
 * 
 * @param context アプリケーション・コンテキストを取得するために使用
 */ 
public Loader(Context context) { 
    mContext = context.getApplicationContext(); 
}

Loader 内部クラスの各々は、staticとして宣言されなければならない、さもなければ親への暗黙の参照を維持してしまう。

続きを読む >>


Docomo FOMA 3G より LTE 契約の方が安し

もう、こまごまとした料金体系はどうでもいいけど。

契約変更時にショップのねえちゃんが mopera の契約を停止してた手違いとかもいつものことなのでどうでもいい。

LTEで高速化して料金上がると思ったら下がる不思議。

20131221-183214-3

契約プランがいろいろあるけど、非SPモードのmoperaの標準的構成で、SIMフリーNexus5 での結果。

きっとドコモさんはLTEを推奨してるのでしょう。

こまけえことはどうでもいいんだよ。


Docomo Wi-Fi で ノートパソコンを接続する方法

 

ひさびさに接続してみたのでうれしくて。

こんなかんじで書いてます。

新規投稿を追加_‹_新___android_ファッション通信_Σ_^A^;__—_WordPress

で、接続ですが、あたしの場合のMacBookAirですが、Wi-Fi が利用できるノートやラップトップなパソコンであれば同じです。

接続に必要な情報は以下の3つだけです。

・WPA2キーフレーズ
・ユーザID
・パスワード

手順は以下の流れになります。2回の認証(ID/パスワードのようなもの)を経てインターネットに接続します。

1. Wi-Fi で接続する。
2. Docomo Wi-Fi にログインする。

なんかうまく説明できないけども、絵で書くとこんなかんじです。

docomo wi-fi

それでは、接続過程を。

続きを読む >>


「ドコモメール @docomo.ne.jp」て何なの? 2013年12月中旬からパソコンでも使える?

 

一体、何がどう違うのか。

ドコモメールでできること | サービス・機能 | NTTドコモ

「複数のデバイスで使える」
・複数のスマートフォン、タブレット、パソコンからメールの送受信や閲覧ができます。
・ドコモメールアプリ以外のメールソフトやメールアプリで「@docomo.ne.jp」が利用できます。(2013年度提供予定)
・注意docomo IDが必要です。また、事前に「docomo ID利用設定」をONにする必要があります。

フツーのパソコン向けのメールと同じ利用形態になるのか?

いや、けど、端末が制限されている。

『ドコモメール』対応スマホが11月27日に22機種増加

『ドコモメール』対応スマホが11月27日に22機種増加

ドコモサイトより設定手順をみてみる。

マルチデバイスでのご利用方法 | サービス・機能 | NTTドコモ

利用手順をまとめると以下。

続きを読む >>