これは一種の理論的な質問であることはわかっていますが、私は Android を使い始めており、基本はすでに習得しており、自分で小さなアプリを構築したいことはわかっていますが、それを正しい方法で行いたいと思っています。
SQLite DBにデータを表示するListViewがあります。そして、そのデータは、アプリを起動するたびに Web から更新され、ListViewを含むこのアクティビティに戻るたびに更新されます。また、 ListViewから選択したオブジェクトのDetailViewを入力すると、データも再更新されます (ただし、ListView で収集されるすべてのオブジェクトではなく、1 つのオブジェクトのみ) 。
ここで、バックグラウンドでデータをフェッチするには、 IntentまたはIntentService (Android では既にデフォルトで非同期に呼び出されます) を使用する必要があると考えています。
public class DownloadService extends IntentService {
public DownloadService() {
super("DownloadService");
}
// Will be called asynchronously be Android
@Override
protected void onHandleIntent(Intent intent) {
...
しかし、私が実際に目にするすべてのチュートリアルでは、Activityを使用して呼び出し、AsyncTaskを拡張するいくつかのクラスを使用しています。
public class MainActivity extends Activity {
...
// DownloadData AsyncTask
private class DownloadData extends AsyncTask<Void, Void, Void> {
...
おそらく私は別の方法を使用する必要がありますが、実際にはチュートリアルを指し示す必要はありません。より経験豊富な Android プログラマーにその方法を教えてもらいたいだけです。