スピナーダイアログボックスを表示しながらバックグラウンドタスクを実行し、デバイスの回転などの変更を処理したり、デバイスが画面ロックになってからロック解除状態になったりする場合に最適な方法を見つけようとしています。
現在、私のアプリは API 8 から 16 までで動作する必要があるため、getLastNonConfigurationInstance() が api 11 (だと思います) から冗長になっていることがわかり、API 8 デバイスでは動作しないことを確認するためにこのメソッドを試しました。しませんでした。次に、asynctaskloader について読みましたが、これは API 8 では利用できません。
最後に、答えになる可能性があるインテントサービスについて読みましたが、アクティビティが再開される構成変更でこれを処理する方法を知る必要があります。
私のバックグラウンド タスクは、sqlite データベースをループして行を CSV としてエクスポートするか、CSV からインポートすることです。これらは AsyncTask で既に行っていますが、デバイスを回転させたり、画面をロックしたりするとクラッシュします。
アクティビティが再開されると、インテントサービスを使用した場合、いわば新しいアクティビティの「参照」を知る必要があるのではないかと思います。AsyncTask を使用すると、それはそれを開始したアクティビティに関連付けられているため、再作成するとそのリンクが失われるということが私の理解です。
編集**
私の最初の質問以来、Marcin は私が抱えていたいくつかの問題を解決してくれました。ただし、フラグメントへのアクティビティの例へのリンクは、ダウンロードできるソース コードと一致しないため、私の質問は次のとおりです。
リストアクティビティ内にフラグメントを実装する方法を考え出そうとしています。リストフラグメントがあることは知っていますが、リストアクティビティをこれに変更すると、アクティビティからリストフラグメントを開始できなくなります。これはすでに試しており、ここで投稿を読んでいるため、リストフラグメントがアクティビティ内にない限り、またはこれを行うことはできません。フラグメント活動。
フラグメントの私の理由は、構成の変更を制御することであり、リストアクティビティはファイルとフォルダーのリストを表示するために使用され、ユーザーは使用するファイルを選択し、[インポート] をクリックして、フラグメントを開始する必要があります。 asynctask を使用してデータをインポートします。
これを示すフラグメントを含むリストアクティビティの例をまだ見つけていません。これを理解しようとしています。
私のプロジェクトのコードが必要な場合はお知らせください
ありがとう
ティムCS