平时写android产品相关的东西接触比较少,于是找个例子学习下。
众所周知,Apk文件是可以反编译的,虽然看不到代码,xml还是可见的。
把百度地图android客户端反编译之后,来学习下它的AndroidMainfest.xml。
<manifest android:versionCode="454" android:versionName="6.1.0" android:installLocation="auto" package="com.baidu.BaiduMap" xmlns:android="http://schemas.android.com/apk/res/android">
详细知识:http://blog.sina.com.cn/s/blog_580a227a0101bdzb.html
android:installLocation可以设置为"auto"、"internalOnly"、"preferExternal"三个值中的任何一个.
详细知识:http://www.cnblogs.com/Lefter/archive/2012/03/07/2383962.html
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />
Android 2.3---9===Gingerbread
Android 2.2---8===Froyo
Android 2.1---7===Eclair
Android 2.0.1---6===Eclair
Android 2.0---5===Eclair
Android 1.6---4===Donut
Android 1.5---3===Cupcak
Android 1.1---2
Android 1.0---1
<supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" />
这个元素用于指定应用程序所支持的屏幕尺寸,并针对比应用程序所支持的屏幕还要大屏幕,启用屏幕兼容模式。在应用程序中使用这个元素指定应用程序所支持的屏幕尺寸是至关重要的。
<uses-permission android:name="android.permission.CAMERA" />
权限控制,此处略去
<activity android:theme="@style/BaiduMapTheme.Welcome" android:label="@string/app_name" android:name="com.baidu.baidumaps.WelcomeScreen" android:launchMode="singleTop" android:screenOrientation="portrait" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|fontScale"
android:noHistory="true">
android:configChange:一般在AndroidManifest.xml文件中都没有使用到android:configChanges="keyboardHidden|orientation"配置,当然还是很有用的。
就是如果配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了
android:noHistory:当用户切换到其他屏幕时是否需要移除这个activity。这个属性是APIlevel3中引入的
android:hardwareAccelerated="true":开启硬件加速