2017-09-01 36 views
0

我想运行并加载在后台我的第二个活动,当我在第一个活动是满载的活动。第二项活动非常繁重,需要时间来加载。我需要在加载后显示我的第二个活动。Android的 - 如何在背景

这里是我的代码

public void onEmbellishClick(View view){ 

    Intent intent = new Intent(this,EmbellishActivity.class); 
    intent.putExtra("user_text",userText.getText().toString() + " "); 

    startActivity(intent); 
} 

我可以加载它的背景,然后用代码显示呢?

+0

如果你正在做一些繁重的任务将它们移动到后台服务或线程。 –

+0

次活动数据需要出现与活动。 –

+0

是否必须只是一个活动 –

回答

1

,如果你有在你第二个活动任务重比移动你的任务重入后台服务或线程。

您可以使用AsyncTask后台工作

的AsyncTask能够正确且容易使用的UI线程。该类允许您执行后台操作并在UI线程上发布结果,而无需操作线程和/或处理程序。

的Android的AsyncTask是由Android提供了一个抽象类,这让我们在后台执行繁重任务,并保持这样的UI线程光使应用程序的响应的自由。的AsyncTask的

例如

link 1

link 2

link 3

+0

但我需要显示其数据的第二个活动。 –

+0

您可以在使用AsyncTask时在第二个活动中显示数据 –

0

对于要使用服务

第1步 创建的类文件,如下面

public class TestService extends Service { 
@Override 
    public void onCreate() { 
     // cancel if already existed 
    } 
} 

步骤2 将您的服务类扩展服务中的AndroidManifest.xml

<service android:name=".TestService" /> 

步骤3 使用意向像这样

Intent intent = new Intent(this,TestService.class); 
startActivity(intent); 
呼叫服务
0

,因为它的目的是从装载活动的Android主要thread.Instead从后台运行,你可以做你的繁重的工作在后台线程UI可以使用的AsyncTask那些不涉及您不能从后台启动活动, 处理程序甚至IntentService为相同,然后在主线程上获取结果并更新您的用户界面。尽量避免嵌套布局,不要在主线程中处理繁重的任务。