1. 两个Activity之间可以通过Intent切换, 包括显示Intent 和 隐式Intent。

实例代码

MainActivity.java

public class MainActivity extends Activity {

	@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} /*
同一个应用程序里面 自己激活自己的东西. 推荐使用显示意图. 效率高.
不同的应用程序里面,激活别人的应用,或者是让自己的某一个界面希望被别人激活,推荐使用隐式意图,
1. 查询系统里面的所有的activity 看看是不是有满足条件的activity.
2.有,判断多少个,只有1个 直接启动, 如果有多个,列表方式
3.如果没有, 应用程序异常终止 activity not found execption
*/ // Intent 显示意图.
// 显示意图: 必须要指定开启组件的具体信息( 包名, 组件名, 组件的class)
//当用户点击按钮的时候 跳转到第二个界面
public void click(View view){
Intent intent = new Intent(this, OtherScreenActivity.class);
// intent.setClassName(this, "com.itheima.twoactivity.OtherScreenActivity");
startActivity(intent);
} public void click2(View view){
//cmp=com.android.gallery/com.android.camera.GalleryPicker
Intent intent = new Intent();
intent.setClassName("com.android.gallery", "com.android.camera.GalleryPicker");
startActivity(intent);
} //采用隐式意图 激活第三个界面
public void click3(View view){
Intent intent = new Intent();
intent.setAction("com.itheima.xxx");
//如果权限xml文件中没有加,则是默认值,必须设置为CATEGORY_DEFAULT
intent.addCategory(Intent.CATEGORY_DEFAULT);
//指定数据的类型, 如果一个APP既有Data又有Type 必须同时设置
//intent.setType("vnd.android.cursor.item/haha");
//intent.setData(Uri.parse("itheima:gagaga"));
intent.setDataAndType(Uri.parse("itheima:gagaga"), "vnd.android.cursor.item/haha");
intent.putExtra("name", "kevin");
   //putExtra 可以传对象,但是需要实现Serializable接口
startActivity(intent); //动作action 类型Type 数据data
//动作 数据
//打 人 打酱油
//泡 茶 泡 妞
//泡绿茶 泡红茶 泡乌龙茶
//addCategory 附加的信息. 提供一些执行的环境 参数
} public void click4(View view){
Intent intent = new Intent();
intent.setAction("android.intent.action.SENDTO");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sms:110"));
startActivity(intent);
} }

OtherScreenActivity.java

//activity 是系统的重要的组件 ,
//操作系统要想找打activity 就必须在 清单文件里面配置
public class OtherScreenActivity extends Activity {
//重写 activity 的oncreate方法 方法里面设置初始化程序的界面.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two); Intent intent = getIntent();//获取到激活他的意图
Uri uri = intent.getData();
String result = uri.toString();
String name = intent.getStringExtra("name");
System.out.println(result);
}
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.itheima.twoactivity"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" /> <application
android:allowBackup="true"
android:icon="@drawable/app"
android:label="@string/application_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.itheima.twoactivity.MainActivity"
android:icon="@drawable/atools"
android:label="@string/activiy01" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> <activity
android:name="com.itheima.twoactivity.OtherScreenActivity"
android:icon="@drawable/ic_scanner_malware"
android:label="@string/activity02" >
<intent-filter>
<action android:name="com.itheima.xxx" /> <data
android:mimeType="vnd.android.cursor.item/haha"
android:scheme="itheima" >
</data> <category android:name="android.intent.category.DEFAULT" >
</category>
</intent-filter>
</activity>
</application> </manifest>

Android -- 两个activity界面的切换, 显示Intent 和 隐式Intent,putExtra传递数据的更多相关文章

  1. Android开发学习笔记:浅谈显示Intent和隐式Intent

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/655132 ...

  2. Android开发学习之浅谈显示Intent和隐式Intent

    Intent寻找目标组件的两种方式: 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent:通过Intent ...

  3. 在Android中Intent的概念及应用(一)——显示Intent和隐式Intent

    Intent寻找目标组件的两种方式: 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent:通过Intent ...

  4. 【Android】6.0 添加Menu菜单组件、Intent启动活动、显式Intent、隐式Intent

    1.0 在helloworld项目基础上创建活动SecondActivity: 2.0 其中main.xml: <?xml version="1.0" encoding=&q ...

  5. 2018.7.9 Android—显式Intent和隐式Intent的区别

    1:都是用来在一个activity中启动另外一个activity 2:显示Intent直接指明要启动activity的定义,即activity.class:隐式intent通过在androidmani ...

  6. selenium 显示等待、隐式等待、强制等待

    如今大部分web程序使用Ajax技术,当浏览器加载页面时,页面元素可能不是同时加载完成,如果因为加载某个元素超时导致ElementNotVisibleException的情况出现,自动化脚本的稳定性就 ...

  7. 显示intent和隐示intent有什么区别

    显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent. 隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent. 说明:And ...

  8. Android学习记录(7)—Intent中显示意图和隐式意图的用法

    Intent(意图)主要是解决Android应用的各项组件之间的通讯. Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的 ...

  9. Android 显示意图和隐式意图的区别

    意图在android的应用开发中是很重要的,明白了意图的作用和使用后,对开发会有很大帮助.如果没有把意图搞懂,以后开发应用会感觉缺些什么.        意图的作用:        1.激活组件   ...

随机推荐

  1. linux统计当前文件夹下所有文件的个数

    ls 加 R 选项表示recursive递归

  2. 三.插入和查找MySQL记录 数据类型

    1.插入数据的两种方式 1)INSERT tb1 VALUES('TOM',25,1863.25); 2)INSERT tb1(username,salary) VALUES('John',4500. ...

  3. 完全用nosql轻松打造千万级数据量的微博系统

    其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量也并不是一千万条微博信息而已,而是千万级订阅关系之间发布.在看 我这篇文章之前,大多数人都看过sina的杨卫华大牛的微 ...

  4. 如何在python项目中写出像Django中一样功能的settings

    一  核心文件目录结构 二  实现代码 resdme: 在实现此功能主要用到的知识点及模块: 1.反射 3.内置方法dir # 全局配置 NAME = 'root' # 用户配置 NAME = 'pe ...

  5. 类的super

    我们经常在类的继承当中使用super(), 来调用父类中的方法.例如下面: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 class A:     def func(self):   ...

  6. WebRtc(网页即时通讯技术)知识点总结

    前言 WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术.并且还支持跨平台:window ...

  7. nginx配置ThinkPHP5二级目录访问

    可以通过 http://www.mracale.com/项目名/模块名/方法名 进行访问 第一步 首先,你要确保在不配置二级目录的情况下,可以通过浏览器访问到.例如:http://www.mracal ...

  8. vim使用winmanager整合nerd tree和taglist

    winmanager插件安装 • 插件简介 winmanager is a plugin which implements a classical windows type IDE in Vim-6. ...

  9. mariadb多源复制 muiltil source replication

    环境:centos-6.5      Mariadb:10.1.13-MariaDB 多源复制:企业数据库中写的需求较大,以至于I/O负载比较大,那么就必须把写的操作分摊到多台主服务器上进行,然后在将 ...

  10. python全栈开发从入门到放弃之内置函数

    1.locals.globals def func(): x = 1 y = 2 print(locals()) #打印局部作用域中的名字 print(globals()) #打印全局作用域中的名字 ...