我要做的就是在我的应用程序的主页上设置一个“活动”,它可以做3件事:1)抓取本地时间/日期,2)抓取经度/纬度,3)把所有这些都放到mysql数据库中。
所以我的问题是,我是否需要扩展activity,或者我是否可以拥有一个只扩展asynctask的主类?
异步任务的原因是执行以下操作,抓取所有onPreexecute,然后将数据推送到"doInbackground“上的mysql中?
这样行得通吗?
发布于 2015-03-30 10:47:06
您的主活动应该扩展Activity,当您想要运行这些函数时,可以使用Asynctask
例如,编辑:
class MainActivity extends Activity {
....
TextView a, b, c;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
new GrabDataAndStore().execute();
}
public class Wrapper {
public String data1;
public String data2;
public String data3;
}
private class GrabDataAndStore extends AsyncTask<String, Void, Wrapper> {
@Override
protected void onPreExecute() {
//Open Dialog (loading)
}
@Override
protected String doInBackground(String... params) {
//Store
Wrapper obj = new Wrapper();
obj.data1 = (data gathered);
obj.data2 = (data gathered);
obj.data3 = (data gathered);
return obj;
}
@Override
protected void onPostExecute(Wrapper obj) {
a.setText(obj.data1);
b.setText(obj.data2);
c.setText(obj.data3);
}
}
}请注意,您可以创建一个包装类,以便将值从doInBackground传递到onPostExecute。这并不是真正的代码,而是关于如何进行的清晰说明。希望能有所帮助
https://stackoverflow.com/questions/29337318
复制相似问题