Android:创建Activity后运行函数

时间:2012-03-01 19:54:08

标签: android json asynchronous android-activity

目前,我的应用程序以菜单开头。单击一个菜单项后,它将启动一个活动,该活动从在线API中获取内容。

我遇到的问题是,一旦单击菜单项,应用程序将等待,直到http请求和响应完成才显示活动。

我的问题是,如何使用布局和静态视图立即显示活动。然后,一旦加载了活动,我就开始从API中获取数据?

2 个答案:

答案 0 :(得分:3)

为什么要在兼并运行时运行!!

onCreate() / onResume()方法中使用AsyncTask

public void onCreate(Bundle b) {
    super.onCreate(b);
    setContentView(...);

    AsyncTask task = new MyTask();
    task.execute(/* optional params */);
}

MyTask的实现中,将长时间运行的代码(从http请求获取的数据)放入doInBackground()方法。 doInBackground()方法返回后,您可以更新View中的onPostExecute()

另外,请看一下Painless Threading,因为那里有很多有用的android线程信息。

答案 1 :(得分:2)

您可以在onCreate方法期间使用AsyncTask来获取结果并异步更新您的活动。另外,我认为您可以使用单独的线程来执行相同的功能。很常见的用例。 Here's the relevant Android docs