Android应用程序中的多个Activity的显示创建和调用
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="openActivity"android:text="开启第二个Activity" /><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="openSystemActivity"android:text="开启系统的Activity" /><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="checkConnection"android:text="检測网络状态" /></LinearLayout>
主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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/*** 用户想要打开第二个界面的时候* * @param view*/public void openActivity(View view) {// 创建意图对象Intent intent = new Intent();// 方便调用setComponent与一个明白的类名。// 相当于创建了一个新的组件// 会话位置|指定要激活的详细的Activityintent.setClassName(this, "com.examp.manyactivity.SecondActivity");// 另外一种方式,是在创建意图对象的时候进行指定Activity// Intent intent2 = new Intent(this, SecondActivity.class);// 激活一个ActivitystartActivity(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创建的时候进行调用*/@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 设置显示的布局setContentView(R.layout.activity_tow);}}
第二个Activity相应的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><RatingBarandroid:id="@+id/ratingBar1"android:layout_width="wrap_content"android:layout_height="wrap_content" /><RatingBarandroid:id="@+id/ratingBar2"android:layout_width="wrap_content"android:layout_height="wrap_content" /><CheckedTextViewandroid:id="@+id/checkedTextView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="CheckedTextView" /><Spinnerandroid:id="@+id/spinner1"android:layout_width="match_parent"android:layout_height="wrap_content" /><ProgressBarandroid:id="@+id/progressBar1"style="?android:attr/progressBarStyleHorizontal"android:layout_width="wrap_content"android:layout_height="wrap_content" /><ProgressBarandroid:id="@+id/progressBar2"style="?android:attr/progressBarStyleLarge"android:layout_width="246dp"android:layout_height="match_parent" /></LinearLayout>
清单文件的配置:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.examp.manyactivity"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="18" /><!-- icon:指定应用程序的图标;label:指定应用程序的名称; --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><!-- Activity的注冊 --><!-- 假设Activity不进行icon,label的设置,那么将默认的使用应用application的icon,label 的设置 --><!-- name指定的是布局文件相应的Activity类 --><activityandroid:name="com.examp.manyactivity.MainActivity"android:label="@string/app_name" ><!-- --><intent-filter><!-- 告诉Android的系统这是应用的主界面 --><action android:name="android.intent.action.MAIN" /><!-- 告诉Android的系统创建一个应用图标 --><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activityandroid:name="com.examp.manyactivity.SecondActivity"android:label="@string/app_name" ></activity></application></manifest>
注:本案例的网络查看状态仅仅能在2.3的模拟器上使用;
Demo源代码下载:
http://download.csdn.net/detail/u011936142/7429455
转载于:https://www.cnblogs.com/mengfanrong/p/3988847.html
Android应用程序中的多个Activity的显示创建和调用相关推荐
- 在 Android 应用程序中使用 SQLite 数据库以及怎么用
part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...
- 在 Android 应用程序中使用 Internet 数据
为什么80%的码农都做不了架构师?>>> 简介: 您的很多 Android 应用程序都需要与 Internet 数据交互,这些数据采用各种格式.本文将带您构建一个 Androi ...
- Android程序 地图,在定制的Android应用程序中使用谷歌地图
我收到以下问题(显示在LogCat中).我希望any1可以帮助我,因为我是android应用程序开发的新手.在定制的Android应用程序中使用谷歌地图 11-17 16:50:38.087: E/A ...
- android程序root权限,android应用程序中应用root权限
android应用程序中使用root权限 要在android应用程序中使用root权限,那么运行程序的设备必须具有root权限. http://www.eoeandroid.com/code/2012 ...
- 绕过Android虚拟机,如何绕过android应用程序中的模拟器检测
如何绕过android应用程序中的模拟器检测 介绍 在模拟器上测试一些android应用程序时,它总会显示应用程序与CPU不兼容,或者在模拟器上安装应用程序时会出现一些错误 我会告诉你如何轻松绕过 留 ...
- 如何在Android应用程序中实现后台服务?
在Android应用程序中实现后台服务,可以通过继承Service类来实现.下面是一个简单的示例代码: 首先,在AndroidManifest.xml文件中注册服务: <manifest xml ...
- android在程序中打开另一个程序
在开发android应用的时候,在一些情况下要有前置条件,比如这边所说的要启动时要确保别的应用程序服务已经打开 或者在操作中启动别的应用等. 先来一段google上的代码: 1. 已知包名和类名的情 ...
- Android应用程序中的DVM和Linux中进程的区别
DVM指的是dalvick的虚拟机,每一个Android应用程序都是在它自己的进程中进行的,都拥有一个独立的dalvick虚拟机的实例,而每一个DVM都是Linux中的一个进程. Android的DV ...
- Android读取程序中文件
近日,需要完成一个程序,需要把相关文件放到Android程序中,并共Android读取. Android读写文件很简单,如果用JAVA语言的话,就是JAVA文件读写. 真正的问题在于,在Android ...
最新文章
- C# 打印 长字符串自动换行
- 揭密 extern C
- 《VMware 网络技术:原理与实践》—— 3.2 以太网
- .net core通过多路复用实现单服务百万级别RPS吞吐
- 开源GIS解决方案,暨GeoServer+OpenLayer结合开发总结
- Java基础提升高级API
- 《手把手教你学C语言》学习笔记(10)--- 程序的循环控制
- C/C++中字符串切割(split)
- 树莓派 HC-SRO4超声波测距模块的使用
- C/C++的转义字符
- idea 去掉author波浪线
- Win10应用商店无法加载页面,错误代码0x80131500怎么办
- ubuntu 保存命令行操作记录
- JQuery中 JSON 兼容性问题(针对ie8)
- RiskCloud干货 | 对LOPA分析软件的深入研究
- 【深入理解JVM】:HotSpot垃圾收集器
- Unity3D学习:射击小游戏——飞碟世界
- photoshop 高手之路
- GD32F10x的侵入检测事件
- 一步一步教你制作的第一个 WordPress 插件
热门文章
- html页面转pdf
- sublime text3 快速生成方法注释
- 一个完整的软件项目开发流程,软件过程,软件生命周期
- Steam游戏Hacknet部分命令备份
- 2019百度之星程序设计大赛 1005 Seq
- 【WC2008】【BZOJ1271】秦腾与教学评估(二分,前缀和,奇偶性乱搞)
- html实现横向轮播,js实现横向轮播效果
- JavaScript内置对象→对象、系统函数、Date日期对象、String字符串对象、Math对象、Number数字对象、Object对象、Boolean对象、Error对象
- 桌面版应用_【Nordic博文分享系列】开发你的第一个NCS(Zephyr)应用程序
- 树桩数组求逆序数+离散化(数太大)