清单文件
xmlns:xml的命名空间
package:包名
versionCode:版本号
versionName:版本名称
uses-sdk:兼容版本
minSdkVersion:最低版本
application:全局应用
icon:图标
label:标题
theme:全局的主题
activity:
name:完全类名
label:界面名
intent-filter:可以配置应用程序的入口(在清单文件里面的activity属性中配置intent-filter,可以在手机桌面新增一个图标入口)
在清单文件中除了根节点 都能删掉
android中没有明文规定只能有一个程序的入口,但是一般情况下,最好只有一个应用程序的启动图标 默认情况下 启动图片是应用程序 图片和标题 但是每个activity都可以设置自己的icon和label,如果卸载重装 应用程序会变成activity的文字和图标
隐式意图和显式意图都能达到跳转的效果
隐式意图:通过一组 动作和数据 打开动作数据相匹配的一个activity
隐式意图的写法需要在清单文件中配置intent-filter里的action和category,category需要设置为android.intent.category.DEFAULT(默认的)
跳转代码
Intent intent = new Intent();
intent.setAction(action设置的值);
//如果将category设置为default,这里这句add语句可以不写
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
在intent-filter中可以设置data
常用的设置有两种:scheme(约束),设置后需要设置setData();setData会自动清除在他之前的设置的数据
和mimeType(告诉格式),设置后需要设置setType();setType会自动清除在他之前的设置的数据
如果要设置两者 可以使用setDataAndType(data,type)
显式意图:主要自己打开自己的应用的时候使用
隐式意图:需要暴露给别人 让别人打开你的应用的时候使用
****一个activity可以配置多个intent-filter 只需要匹配上一个intent-filter就可以打开这个界面
多个activity可以配置相同的intent-filter 如果匹配上多个activity 系统会把所有匹配上的activity作为一个列表让用户进行选择
关于意图传递值
并不是所有的类型都可以传递,只能传序列化对象(android自带parcelable Java自带的Serializable) bundle(类似map) 八种基本类型和字符串以及对应的数组