我知道这是一个理论问题,但问题是我开始使用Android,我已经掌握了基础知识,并知道我想自己构建一个小应用程序,但我希望它能够完成正确的方式。
我有一个 ListView ,可以在 SQLite数据库 中显示数据。每次我启动应用时,这些数据都会从网络上更新,每次我使用 ListView 返回 活动 时。当我输入我从中选择的那个对象的 DetailView 时,它也会重新更新数据(但仅针对一个对象而不是ListView中收集的所有对象)的 的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) {
...
但我看到的所有教程实际上都使用了活动,然后调用了一些扩展 AsyncTask 的类:
public class MainActivity extends Activity {
...
// DownloadData AsyncTask
private class DownloadData extends AsyncTask<Void, Void, Void> {
...
也许我应该使用一种不同的方法,但我真的不需要指向一个教程,我只需要一位经验丰富的Android程序员来告诉我应该怎么做。
答案 0 :(得分:0)
有两件事应该是异步类型的任务,这是一个很好的设计,类似于你在Marakana Yamba Project尝试完成的任务。这些视频有很多死角,所以我会寻找那些谈论设计的视频,它会给你正确的设计方法。将要提供的点是您已经拥有的异步DownloadData任务,然后您应该在Content Provider上查找该任务。您的DownloadData将处理来自互联网的有效下载,因为收音机喜欢您的电池。内容提供商将以相同的方式工作,但是将数据提供给应用的UI活动。基本推荐的设计类型。
希望这有帮助。