- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经阅读了该网站上的几篇文章,以及几本有关处理程序、线程、HandlerThreads、服务、SyncAdapters、ContentProviders 等的书籍。似乎有很多不同的选择,但我不知道哪个适合我的项目。
我有一个简单的项目,当应用程序第一次启动时,它将连接到一个简单的 REST Web 服务。它将下载一些 JSON 数据并将其显示在列表中。然后,用户可以编辑此数据,点击“保存”后,应用程序将使用更新的数据向 Web 服务发送 POST。用户还可以手动发起“同步”,这将检查是否有任何新数据。最后,应用程序应定期检查网络服务以查看是否有更多数据。
我从内容提供商开始,但它看起来确实太过分了(而且很复杂),但我确信它最终会起作用。然后我尝试了一个线程,但 Android 建议使用 AsyncTask 或处理程序。我一直在研究它们(将它们放入服务中),两者都会做我想做的事情(使用计时器每 X 分钟启动一次同步),但我不知道这是否是处理此问题的最佳方法。我很担心,因为这个项目可能会包含更多内容,我不想选择一个会限制我 future 的选项,但我也不想投入大量时间在过度杀伤力的事情上。
有人可以帮忙吗?
最佳答案
让我们从整个保持简单的范例开始。
AsyncTask 会是这样的:
public class MyAsyncTask extends AsyncTask<Void, Void, Data> {
public interface OnDone {
public void onDone(Data data);
}
private final OnDone mDone;
public MyAsyncTask(OnDone onDone) {
mDone = onDone;
}
public Data doInBackground(Void v) {
// Download and parse your JSON in the background
}
public void onPostExecute(Data data) {
mOnDone.onDone(data);
}
}
public class OnDoneImpl .... implements OnDone, Runnable {
...
// Just need a context in scope some how, an activity, the application whatever.
Context mContext;
public void onDone(Data data) {
updateList(data);
scheduleAgainInXMinutes(TIME_TILL_REFRESH);
}
public void scheduleAgainInXMinutes(long millis) {
// probably want to use an Alarm service but can always use a handler;
new Handler().postDelayed(this, millis);
}
public void run() {
new MyAsyncTask(this).execute();
}
}
关于java - 尝试决定使用哪种方法将 Android 连接到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696811/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!