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 总结

posted @ 2016-03-11 21:33  沉默的羊癫疯  阅读(504)  评论(0)    收藏  举报