Android应用程序中的多个Activity的显示创建和调用
布局文件:
主Activity的代码package com.examp.manyactivity; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.view.View; import android.widget.Toast; /** * 案例演示的是显示的激活Activity * * @author MartinDong * */ public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 用户想要打开第二个界面的时候 * * @param view */ public void openActivity(View view) { // 创建意图对象 Intent intent = new Intent(); // 方便调用setComponent与一个明白的类名。 // 相当于创建了一个新的组件 // 会话位置|指定要激活的详细的Activity intent.setClassName(this, "com.examp.manyactivity.SecondActivity"); // 另外一种方式,是在创建意图对象的时候进行指定Activity // Intent intent2 = new Intent(this, SecondActivity.class); // 激活一个Activity startActivity(intent); } /** * 开启系统中的Activity<br> * 案例演示的是开启图库的Activity * * @param view */ public void openSystemActivity(View view) { /* * 05-31 07:42:44.581: I/ActivityManager(150): START * {act=android.intent.action.MAIN * cat=[android.intent.category.LAUNCHER] flg=0x10200000 * cmp=com.android.gallery/com.android.camera.GalleryPicker u=0} from * pid 282 */ Intent intent = new Intent(); intent.setClassName("com.android.gallery", "com.android.camera.GalleryPicker"); startActivity(intent); } /** * 检測网路状态 * * @param view */ public void checkConnection(View view) { /* * 05-31 08:03:01.848: I/ActivityManager(150): START * {act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings * (has extras) u=0} from pid 306 因为这里4.0的网络的管理须要传入附加数据,本功能使用2.3的虚拟机<br> * 05-31 08:05:47.072: I/ActivityManager(61): Starting: Intent { * act=android.intent.action.MAIN * cmp=com.android.settings/.WirelessSettings } from pid 168 */ // 检測网路的连接状态 // 创建连接管理对象 ConnectivityManager cm = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE); // 须要的权限 android.Manifest.permission.ACCESS_NETWORK_STATE // 获取网络的连接信息 NetworkInfo info = cm.getActiveNetworkInfo(); // 假设没有不论什么的网络信息info为null; if (info != null && info.isConnected()) { Toast.makeText(this, "网络可用......", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "网不可用,请设置......", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(); intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings"); startActivity(intent); } } }
第二个Activity文件:
package com.examp.manyactivity; import android.app.Activity; import android.os.Bundle; /** * 自己定义的Activity<br> * 必需要继承Activity<br> * Activity是系统的四大组件之中的一个<br> * 操作系统想要找到Activity就必须在清单文件AndroidManifest.xml进行注冊<br> * * * @author MartinDong * */ public class SecondActivity extends Activity { /** * 一般都会重写的方法,用途大都是初始化一些数据,和程序的界面<br> * Activity创建的时候进行调用 */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置显示的布局 setContentView(R.layout.activity_tow); } }
第二个Activity相应的布局文件:
清单文件的配置:
注:本案例的网络查看状态仅仅能在2.3的模拟器上使用;
Demo源代码下载:
http://download.****.net/detail/u011936142/7429455