AndroidManifest.xml解析(三)

转载 2012年03月30日 13:52:19

7、第三层<service>

【1】service与activity同级,与activity不同的是,它不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行。比如听音乐,网络下载数据等,都是由service运行的

 

【2】service生命周期:Service只继承了onCreate(),onStart(),onDestroy()三个方法,第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法

 

【3】service与activity间的通信

Service后端的数据最终还是要呈现在前端Activity之上的,因为启动Service时,系统会重新开启一个新的进程,这就涉及到不同进程间通信的问题了(AIDL),Activity与service间的通信主要用IBinder负责。具体可参照:http://zhangyan1158.blog.51cto.com/2487362/491358

【4】

<service android:enabled=["true" | "false"]

         android:exported[="true" | "false"]

         android:icon="drawable resource"

         android:label="string resource"

         android:name="string"

         android:permission="string"

         android:process="string">

</service>

service标签内的属性之前已有描述,在此不重复了~

 

8、第三层<receiver>

receiver的属性与service一样,这里就不显示了

BroadcastReceiver:用于发送广播,broadcast是在应用程序之间传输信息的一种机制,而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件,具体参照http://kevin2562.javaeye.com/blog/686787

 

9、第三层<provider>属性

<provider android:authorities="list"

          android:enabled=["true" | "false"]

          android:exported=["true" | "false"]

          android:grantUriPermissions=["true" | "false"]

          android:icon="drawable resource"

          android:initOrder="integer"

          android:label="string resource"

          android:multiprocess=["true" | "false"]

          android:name="string"

          android:permission="string"

          android:process="string"

          android:readPermission="string"

          android:syncable=["true" | "false"]

          android:writePermission="string">

           <grant-uri-permission/>

           <meta-data/>

</provider>

contentProvider(数据存储)

【1】android:authorities:

标识这个ContentProvider,调用者可以根据这个标识来找到它

【2】android:grantUriPermission:

对某个URI授予的权限

【3】android:initOrder

 

 

10、第三层<uses-library>

用户库,可自定义。所有android的包都可以引用

 

11、第一层<supports-screens>

<supports-screens android:smallScreens=["true" | "false"
                  android:normalScreens=["true" | "false"
                  android:largeScreens=["true" | "false"
                  android:anyDensity=["true" | "false"/>

这是在android1.6以后的新特性,支持多屏幕机制

各属性含义:这四个属性,是否支持大屏,是否支持中屏,是否支持小屏,是否支持多种不同密度

 

12、第二层<uses-configuration />与<uses-feature>性能都差不多

<uses-configuration android:reqFiveWayNav=["true" | "false"
                    
android:reqHardKeyboard=["true" | "false"]
                    
android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" |   "twelvekey"]
                    
android:reqNavigation=["undefined" | "nonav" | "dpad" |  "trackball" | "wheel"]
                    
android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"/>

<uses-feature android:glEsVersion="integer"
              
android:name="string"
              
android:required=["true" | "false"/>

这两者都是在描述应用所需要的硬件和软件特性,以便防止应用在没有这些特性的设备上安装。


13、第二层<uses-sdk />

<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer"/>

描述应用所需的api level,就是版本,目前是android 2.2 = 8,android2.1 = 7,android1.6 = 4,android1.5=3

在此属性中可以指定支持的最小版本,目标版本以及最大版本

 

14、第二层<instrumentation />

<instrumentation android:functionalTest=["true" | "false"]
                 
android:handleProfiling=["true" | "false"]
                 
android:icon="drawable resource"
                 
android:label="string resource"
                 
android:name="string"
                 
android:targetPackage="string"/>

 定义一些用于探测和分析应用性能等等相关的类,可以监控程序。在各个应用程序的组件之前instrumentation类被实例化

android:functionalTest(解释:instrumentation类是否能运行一个功能测试,默认为false)

 

15、<permission>、<uses-permission>、<permission-tree />、<permission-group />区别~

最常用的当属<uses-permission>,当我们需要获取某个权限的时候就必须在我们的manifest文件中声明,此<uses-permission>与<application>同级,具体权限列表请看此处

通常情况下我们不需要为自己的应用程序声明某个权限,除非你提供了供其他应用程序调用的代码或者数据。这个时候你才需要使用<permission> 这个标签。很显然这个标签可以让我们声明自己的权限。比如:

<permission android:name="com.teleca.project.MY_SECURITY" . . . />

那么在activity中就可以声明该自定义权限了,如:

<application . . .>

        <activity android:name="XXX" . . . >

                  android:permission="com.teleca.project.MY_SECURITY"> </activity>

 </application>

当然自己声明的permission也不能随意的使用,还是需要使用<uses-permission>来声明你需要该权限

<permission-group> 就是声明一个标签,该标签代表了一组permissions,而<permission-tree>是为一组permissions声明了一个namespace。这两个标签可以看之前的系列文章。

相关文章推荐

AndroidManifest.xml解析(三)

7、第三层 【1】service与activity同级,与activity不同的是,它不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行。比如听音乐...
  • swdrt
  • swdrt
  • 2013-06-04 23:31
  • 506

AndroidManifest.xml文件解析

  • 2013-01-28 23:15
  • 84KB
  • 下载

Android学习笔记之AndroidManifest.xml文件解析

Android学习笔记之AndroidManifest.xml文件解析 http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html ...

AndroidManifest.xml解析

  • 2009-12-18 17:45
  • 61KB
  • 下载

AndroidManifest.xml解析

AndroidManifest.xml解析 http://hi.baidu.com/woodyqt/item/923a49007a5fee17cc34eaab 一、关于AndroidM...

Android学习笔记之AndroidManifest.xml文件解析

一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activ...

Android学习笔记之AndroidManifest.xml文件解析 1

Android学习笔记之AndroidManifest.xml文件解析  一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文...

Android学习笔记之AndroidManifest.xml文件解析

一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activ...

AndroidManifest.xml文件解析

一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)