Android后台webservice调用

时间:2013-09-03 06:16:12

标签: android web-services

在我的应用程序中,我需要调用两个Web服务来从应用程序启动时从服务器获取记录。我在Asynch Task和启动画面上做到了这一点,但它运行不正常。它等待aynsch任务完成他的操作然后转移到下一个活动。

我希望我的应用应该在应用启动时在后台调用webservice,而不会阻止用户移动下一个活动。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

**call Asyn server call wherever you need**
getServerResponse();
"startnewactivity" here
finish current activity here 


**Asyn server call**
public void getServerResponse(){
    new AsyncTask<Void, Void, Object>() {

        @Override
        protected Object doInBackground(Void... params) {
            //write your server response code here
            return null;
        }

        @Override
        protected void onPostExecute(Object result) {
            super.onPostExecute(result);
        }
    }.execute();
}

答案 1 :(得分:0)

您可以使用IntentService并获取详细信息并存储。

或者您可以使用Service,将其与活动绑定,并在检索到数据后发送数据。

此外,您可以导航到第二个活动并调用AsyncTask来获取详细信息并在完成后更新UI。

如果检索到的数据是全局的并由多个活动使用,则将其存储在Application类中,并添加stateChangeListener,并在从后台服务或AsyncTask更新时收到通知。

答案 2 :(得分:0)

使用Async任务,您可以在后台线程中运行Web服务调用,并且您的UI线程不会被阻止,您可以使用runonuithread在后台调用下一个活动,但它可以实现无缝解决方案。因此,最好先等待完成后台处理