• /  12
  • 下载费用: 14.9积分  

Android应用程序在新的进程中启动新的Activity的方法和

'Android应用程序在新的进程中启动新的Activity的方法和'
     前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程。        在前面Android进程间通信(IPC)机制Binder简要介绍和学习计划一文中,我们提到,在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。在前面Android系统在新进程中启动自定义服务过程(startService)的原理分析一文中,我们已经介绍了使用Activity.startService接口来在新进程中启动Service的过程,然后又在前面Android应用程序内部启动Activity过程(startActivity)的源代码分析一文中介绍了使用Activity.startActivity接口来在原来的进程中启动Activity的过程,现在,我们就来看一下同一个Android应用程序如何在新的进程中启动新的Activity。        老规矩,我们通过例子来介绍Android应用程序在新的进程中启动新的Activity的方法以及分析其过程。首先在Android源代码工程中创建一个Android应用程序工程,名字就称为Process吧。关于如何获得Android源代码工程,请参考在Ubuntu上下载、编译和安装Android最新源代码一文;关于如何在Android源代码工程中创建应用程序工程,请参考在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务一文。这个应用程序工程定义了一个名为shy.luo.process的package,这个例子的源代码主要就是实现在这里了。下面,将会逐一介绍这个package里面的文件。        应用程序的默认Activity定义在src/shy/luo/process/MainActivity.java文件中:view plain1. package shy.luo.process;       2.       3. import android.app.Activity;      4. import android.content.Intent;      5. import android.os.Bundle;      6. import android.util.Log;      7. import android.view.View;      8. import android.view.View.OnClickListener;      9. import android.widget.Button;      10.       11. public class MainActivity extends Activity  implements OnClickListener {      12.     private final static String LOG_TAG = "shy.luo.process.MainActivity";      13.       14.     private Button startButton = null;      15.       16.     @Override      17.     public void onCreate(Bundle savedInstanceState) {      18.         super.onCreate(savedInstanceState);      19.         setContentView(R.layout.main);      20.       21.         startButton = (Button)findViewById(R.id.button_start);      22.         startButton.setOnClickListener(this);      23.       24.         Log.i(LOG_TAG, "Main Activity Created.");      25.     }      26.       27.     @Override      28.     public void onClick(View v) {      29.         if(v.equals(startButton)) {      30.             Intent intent = new Intent("shy.luo.process.subactivity");      31.             startActivity(intent);      32.         }      33.     }      34. }              和前面文章的例子一样,它的实现很简单,当点击它上面的一个按钮的时候,就会启动另外一个名字为“shy.luo.process.subactivity”的Actvity。        名字为“shy.luo.process.subactivity”的Actvity实现在src/shy/luo/process/SubActivity.java文件中:view plain1. package shy.luo.process;      2.       3. import android.app.Activity;      4. import android.os.Bundle;      5. import android.util.Log;      6. import android.view.View;      7. import android.view.View.OnClickListener;      8. import android.widget.Button;      9.       10. public class SubActivity extends Activity implements OnClickListener {      11.     private final static String LOG_TAG = "shy.luo.process.SubActivity";      12.       13.     private Button finishButton = nul
关 键 词:
Android 应用程序 进程 启动 Activity 方法
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Android应用程序在新的进程中启动新的Activity的方法和
链接地址: https://www.wenku365.com/p-41006758.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开