2024.03.07
イベントの感想募集でGoogleフォーム使ってみたら便利だった
2017.01.25
プログラミングAsyncTaskLoaderのforceLoadが動かない

坂東です。
iPhoneアプリは好きなのですが、Androidアプリの開発は嫌いです。
コード書くことはできるんですがあまり詳しくありません。
APIとの通信はここらへんを参考位AsyncTaskLoaderを使用しています。
http://inon29.hateblo.jp/entry/2014/03/24/221904
forceLoad(); の後に loadInBackground() が走ってサーバーに通信する流れなのですが。10〜30回に1回ぐらい loadInBackground が走らないという現象に悩まされました。
ログをさんざん仕込んでも駄目なパターンの原因が掴めません。
ActivityからLoaderから呼び出す実装はこんな感じだったのですが、
|
1 2 |
loader = getSupportLoaderManager().restartLoader(TASK_ID, args, this); loader.forceLoad(); |
なんとなくHandlerで囲ったところ、うまくいきました。
|
1 2 3 4 5 6 7 |
loader = getSupportLoaderManager().restartLoader(TASK_ID, args, this); _handler.post(new Runnable() { @Override public void run() { loader.forceLoad(); } }); |
不勉強で原因はよくわかりませんが、これで様子見します。
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索
SNS共有