我知道这是一个理论上的问题,但问题是我开始使用 Android,我已经掌握了基础知识,并且知道我想自己构建一个小应用程序,但我希望它以正确的方式完成。
我有一个ListView显示SQLite DB中的数据。每次我启动应用程序时,以及每次我返回这个带有ListView的Activity时,这些数据都会从网络上更新。此外,当我输入从ListView选择的该对象的DetailView时,它也会重新更新数据(但仅针对一个对象而不是 ListView 中收集的所有对象)。
现在,我相信我应该使用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 程序员告诉我应该怎么做。