我可以用异步活动来扩展活动吗?

时间:2015-03-30 02:03:23

标签: android

我想要完成的只是一个单一的活动"设置在我的应用程序的主页上,字面上做3件事; 1)抓取实际本地时间/日期,2)抓取经度/纬度,3)并将所有这些推入mysql数据库。

所以我的问题是,我是否需要扩展活动,或者我可以拥有一个只扩展asynctask的主类?

asynctask的原因是执行以下操作,获取所有onPreexecute然后将数据推送到mysql on" doInbackground"?

这会有用吗?

1 个答案:

答案 0 :(得分:0)

您的主要活动应该扩展活动,当您想要运行这些功能时,您可以使用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);
        }

    }

}

请注意,您可以创建一个Wrapper类,以便将值从doInBackground传递给onPostExecute。 这实际上不是代码,而是关于如何继续的明确说明。 希望它有所帮助