Bjo*_*orn 14 android android-asynctask android-handler android-json
我已经看过很多如何做到这一点的例子,但我无法想象如何在我的代码中实现它.
我用这个代码.
我已经更新了url,因此它会收到一个包含动态数据的json.我要做的是使用此代码每30秒自动更新一次列表.
Handler handler = new Handler();
Runnable refresh = new Runnable() {
public void run() {
new GetContacts().execute();
handler.postDelayed(refresh, 30000);
}
};
Run Code Online (Sandbox Code Playgroud)
它刷新,并调用url并获取数据,但UI不会更新.
感谢任何有助于我朝着正确方向前进的提示.
http://www.androidhive.info/2012/01/android-json-parsing-tutorial/
您可以在内部使用AsycTask
和更新list ui
任务onPostExecute
.
new AsyncTask<String, String, String>() {
/**
* Before starting background do some work.
* */
@Override
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... params) {
// TODO fetch url data do bg process.
return null;
}
/**
* Update list ui after process finished.
*/
protected void onPostExecute(String result) {
// NO NEED to use activity.runOnUiThread(), code execute here under UI thread.
// Updating parsed JSON data into ListView
final List data = new Gson().fromJson(result);
// updating listview
((ListActivity) activity).updateUI(data);
}
};
}
Run Code Online (Sandbox Code Playgroud)
更新
不需要在runOnUiThread
内部使用onPostExecute
,因为它已经被调用并且它的主体被执行了UIThread
.
归档时间: |
|
查看次数: |
38082 次 |
最近记录: |