1 解读AndroidManifest配置文件
1-1 AndroidManifest概述
AndroidManifest.xml配置文件介绍
本质:AndroidManifest.xml是整个应用的主配置清单文件。
包含:该应用的包名、版本号、组件、权限等信息
作用:记录该应用的相关的配置信息。
AndroidManifest.xml常用标签解读
1.全局篇(包名、版本信息)
2.组件篇(四大组件)
3.权限篇(申请权限和定义权限)
1-2 全局信息配置
1.应用的包名以及版本信息的管理
packet="com.example.test"
android:versionCode="1"
android:versionName="1.0">
2.控制android版本信息(可支持的最低版本、你期望的系统版本)
android:minSdkVersion="8"
android:targetSdkVersion="16">
应用在android:versionName="1.0"应用程序系统版本号和名称:可在手机软件市场上查看显示的软件版本代号及名称,便于用户选择版本升级
每个apilevel都会对应一个安卓的版本等级,例如api"8"对应的是安卓2.2版本。api="16"对应的是安卓4.1的版本。
package 表示应用所在的包(系统自动)
android:versionCode 表示版本号
android:minSdkVersion="8" 表示应用支持的最低系统版本
android:targetSdkVersion="16" 表示应用支持的目标版本
8和16分别表示API level的信息,8对应2.2版本的系统,16对应的4.1版本的系统。
android:minSdkVersion="8" apilevel 是8 找对应的android版本
android:targetSdkVersion="21" 期望的apilevel是16 找对应的android版本
android:versionCode="1" 安卓市场升级的时候用到这个(重要)
android:versionName="1.0" 安卓版本号的名称
1-3 在配置文件中注册组件
1.组件篇
<application android:icon="@drawable/icon"
android:theme="@style/my_theme">
</application>
其属性可以设置: 只能包含一个application节点
android:icon图标
android:label标题
android:theme主题样式
Manifest.xml清单文件中包含四大组件:
activity活动,
service服务(后台运行的逻辑代码),
content provider内容提供者(管理数据库访问以及程序内和程序间的共享),broadcast receiver广播接收者(全局范围内接收信息——全局事件监听器)
Activity(活动)
<activity
android:name="com.example.a.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
启动一个没有在清单中定义的Activity会抛出异常
service(服务)
<service android:name="com.ttg.service.CouponService">
<intent-filter >
<action android:name="com.ttg.service"/>
</intent-filter>
</service>
Activity可用于显示界面Service只用来后台逻辑处理
Content Provider(内容提供者)
<provider android:name="com.example.manifest.provider"></provider>
内容提供者是用来管理数据库访问以及程序内和程序间共享的
Broadcast Recever(广播接收者)
<receiver android:name="com.example.recevice.InstallRecvice">
<intent-filter >
<action android:name="example.app.install"/>
</intent-filter>
</receiver>
相当于一个全局事件的监听器
在清单文件中声明content-provider的时候要指定authrity指定uri,相当于访问地址
*每个anctivity、service都要在maniifest.xml清单文件中注册
<application标签下的<intent-filter标签指示应用程序入口
<service标签下也有<intent-filter标签
<provider标签下也有<intent-filter标签
<receiver标签下也有<intent-filter标签
1-4 权限配置


1-5 自定义权限

-------------------------------------------------------------------
第一个程序跳转到第二个程序:



如果没有设置权限的话,第一个应用Manifest.xml不用添加什么
java: .setOnClickListener:
Intent intent=new Intent();
intent.setClassName(第二个应用的包名(比如com.example.xx),第二个应用的类名(比如com.example.xx.MainActivity));
startActivity(intent);
// 通过包名获取要跳转的app,创建intent对象
Intent intent = getPackageManager().getLaunchIntentForPackage("com.imooc.demo");
// 传递参数
intent.putExtra("name", "imooc");
//跳转
startActivity(intent);
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
自定义权限:
建立两个工程项目,让第一个项目访问第二个项目
当在第一个项目上的Mainfest.xml上自定一个权限:
定义权限<permission
android:name="eee.fff.ggg"
android:protectionLevel="normal"
></permission>
在Activity标签里面设置权限
<activity android:permission="eee.fff.ggg"
此时第二个程序将无法跳转第一个程序


解决方法:
想让第二个程序跳转到第一个程序:
在第二个程序中的AndroidMainfest.xml中加


1-6 总结


浙公网安备 33010602011771号