Android 开发中的 Manifest.xml 配置文件详解

    AndroidManifest.xml 是一个非常重要的功能清单文件。每一个应用程序的根目录里都有这个功能清单文件,这个清单文件给Android系统提供了关于这个应用程序的基本信息,系统在运行任何程序代码之前必须知道这些信息。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  //用来指定该文件的命名空间
          package="com.bignerdranch.android.criminalintent">  //指定Android应用所在的包

    <application
        android:allowBackup="true" //为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。
        android:icon="@mipmap/ic_launcher"   //用来设定应用程序的图标
        android:label="@string/app_name"     //用来设定应用程序的名称
        android:supportsRtl="true"  //声明你的application是否愿意支持从右到左(原来RTL就是right-to-left 的缩写)的布局,只是是否愿意,不是立马从右到左。
        android:theme="@style/AppTheme"> //应用的样式主题,该主题在当前应用包的style.xml中定义
        <activity
            android:name=".CrimeActivity" //指定的是该Activity的类名,“.”代表的是<manifest>元素的“package”属性中指定的当前包。activity只能放在应用包(manifest下package定义的路径)或者其子包里面,而不能再应用包以外的包中定义,这点需要牢记。
            android:label="@string/app_name" > //表示Activity所代表的屏幕的标题,该属性值在AVD运行程序到该Activity所代表的界面时,会在标题上显示该值。
        </activity>
        <activity android:name=".CrimeListActivity">

            <intent-filter> //设置隐式intent过滤器
                <action android:name="android.intent.action.MAIN" /> //标识Activity为一个程序的开始
                <category android:name="android.intent.category.LAUNCHER" /> //决定activity 应该显示在顶级应用启动器里Main和LAUNCHER同时设定才有意义
            </intent-filter>
        </activity>
<provider  //

为了提高私有文件的安全性,在targetSdk版本为N或者以后版本的app中,其私有目录将会限制访问。这可以防止私有文件元数据的泄露,比如文件大小或者是文件是否存在。但这给开发者带来了很多不利的影响:文件的owner不能放宽文件权限,如果你使用MODE_WORLD_READABLE或者 MODE_WORLD_WRITEABLE操作文件,将会触发SecurityException。当你跨package域传递file://的URI时,接收者得到的将是一个无权访问的路径,因此,这将会触发FileUriExposedException。对于这类操作,官方推荐的方式是使用FileProvider,当然你也可以使用ContentProvider。在targetSdk为Android N之前的系统版本时,不需要这个配置。

android:name="android.support.v4.content.FileProvider" android:authorities="com.bignerdranch.android.criminalintent.fileprovider"//当前app的包名 + fileprovider android:exported="false" //要求必须为false,为true则会报安全异常
    android:grantUriPermissions="true">//表示授予 URI 临时访问权限
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/> //资源文件下创建相应的文件夹路径xml文件的文件名
</provider>
</application>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
                     android:maxSdkVersion="18"        />申请外部存储读权限,只有API级别小于19的android设备上,应用才需要这样的权限申请
    
    <uses-feature android:name="android.hardware.camera"
                  android:required="false" />声明应用需要有照相功能的设备,但也不是必须的。
</manifest>

                
意大利威尼斯是一个位于亚得里亚海的城市,被众多运河和桥梁所穿越,因其独特的地理位置和美丽的建筑而闻名于世。威尼斯也被称为“水城”或“浪漫之都”,其历史可以追溯到公元5世纪。 威尼斯的建筑风格独特,充满了浪漫和优雅的氛围。这座城市的建筑物大多建立在木桩上,因为城市被水所包围,没有用车辆行驶的道路。取而代之的是一系列运河和水道,人们需要乘坐船只或步行来穿越城市。 威尼斯对艺术和文化的贡献也是不可忽视的。文艺复兴时期,该城市是绘画、建筑和音乐的重要心。许多著名的艺术家,如提香、蒂基安、巴拉托、威尔斯基和莫宁等,都在威尼斯创作了许多杰作。 除了艺术,威尼斯还以其独特的娱乐活动而著称。威尼斯嘉年华是世界上最古老、最盛大的狂欢节之一。每年,数以万计的游客和当地居民涌向威尼斯,穿着华丽的面具和服饰,参加各种游行、舞会和音乐会。 然而,威尼斯也面临着一些问题。城市的底层由于不断的垂直沉降而被淹没,建筑物也面临着沉降和腐蚀的风险。此外,游客数量的不断增加也给城市的环境和基础设施带来了压力。 总的来说,威尼斯是一个富有历史、文化和艺术底蕴的城市。尽管面临一些挑战,但它仍然是一个独特而迷人的旅游目的地,吸引着来自世界各地的游客。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程序的艺术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值