以前はアプリをアクティビティだけで動作させていましたが、現在は UI を改善するためにフラグメントへの変換に取り組んでいます。
以前は、Activity
を開始し、特定のメソッドが必要なときにAsyncTask
として使用するためにそれ自体を渡しましContext
た (UI 操作ではなく、共有設定とコンテンツ プロバイダーへの呼び出し)。Activity
が破棄されてガベージ コレクションが行われた場合、このアプローチが望ましくない結果につながる可能性があることを学びましたが、コンパイルして正常に実行されました。
この変更を開始したのは、アプリが一時停止および停止したときの読み込み画面の動作を改善したかったからです。Android のロード画面に眉をひそめている人がいることに気付きましたが、私には 20 秒ほどかかる操作があり、アプリが機能する前に完了する必要があるため、必要です。
そこで、このガイドを使用して、アプリの改善を開始しました。
要するに、ガイドはをUI が添付AsyncTask
されFragment
ていないに移動し、ロード画面を で表示するために別の を使用します。これは、 を生成する Fragment にコンテキストがないことを意味します。つまり、 にコンテキストを渡すことができません。Fragment
ProgressBar
AsyncTask
AsyncTask
前に言ったように、オブジェクトAsyncTask
を必要とする操作が にあるのですが、どこから取得できますか? 開始する前にContext
、そのデータを に渡す必要がありますか?AsyncTask