首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以使用异步活动来扩展活动?

我是否可以使用异步活动来扩展活动?
EN

Stack Overflow用户
提问于 2015-03-30 10:03:23
回答 1查看 36关注 0票数 0

我要做的就是在我的应用程序的主页上设置一个“活动”,它可以做3件事:1)抓取本地时间/日期,2)抓取经度/纬度,3)把所有这些都放到mysql数据库中。

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

异步任务的原因是执行以下操作,抓取所有onPreexecute,然后将数据推送到"doInbackground“上的mysql中?

这样行得通吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-30 10:47:06

您的主活动应该扩展Activity,当您想要运行这些函数时,可以使用Asynctask

例如,编辑

代码语言:javascript
复制
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。这并不是真正的代码,而是关于如何进行的清晰说明。希望能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29337318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档