主要总结Android开发日常中看到的一些属性注释
Application
application中常见的属性
字段名 | 值类型 | 解释 | 说明 |
allowBackup | boolean,true | 是否允许应用备份相关的数据并且在必要时候恢复还原这些数据 | 事关手机使用安全,建议设置为false。见注释1 |
backupAgent | String | 这个标识是用来设置备份代理 | 注释2 |
supportsRtl | boolean,false | 这个标识是用来声明应用是否要支持从右到左的(RTL)布局方式。 | 注释3 |
resizeableActivity | boolean,true | 应用是否支持分屏操作 | API24及以上加入,注释4 |
注释1:
adb backup 命令容许任何一个打开 USB 调试开关的人从 Android 手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore 命令允许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。尤其是通讯录应用,一旦应用程序支持备份和恢复功能,攻击者即可通过adb backup和adb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等;因此为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。
注释2:
对于大部分应用程序来说,都或多或少保存着一些持久性的数据,比如数据库和共享文件或者有自己的配置信息,为了保证这些数据和配置信息的安全性以及完整性,Android提供了这样一个机制,我们可以通过这个备份机制来保存配置信息和数据以便为应用程序提供恢复点。如果用户将设备恢复出厂设置或者转换到一个新的Android设备上,系统就会在应用程序重新安装时自动恢复备份数据。这样,用户就不需要重新产生它们以前的数据或者设置了。这个进程对于用户是完全透明的,并且不影响其自身的功能或者应用程序的用户体验。要实现备份代理,就必须做两件事,一是实现 BackupAgent 或者 BackupAgentHelper 的子类,二是在 Manifest 文件内用 android:backupAgent 属性声明备份代理。
注释3:
在API17时添加,如果本标识属性设置为 true 并且同时 targetSdkVersion 为 17 或者以上版本,则系统将会激活并使用各种 RTL API ,应用程序就可以显示 RTL Layout。反之则反。
RTL Layout:从右到左的布局,在诸如阿拉伯语、希伯来语等环境中,中国用户很少使用。 控件或文字会默认从左到右的布局下来
注释4:
这个标识可以设置在 < activity > 或者 <application> 标签上。如果把这个属性设置为 true,用户就能把这个应用或者 activity 设置为分屏或者自由模式。该API在24及以上支持。
Activity
Activity中的常见属性:
字段名 | 值类型 | 解释 | 说明 |
supportsPictureInPicture | boolean,true | 指定 Activity 是否支持画中画显示 | 在API 24及以上加入,如果 android:resizeableActivity 是 false,系统会忽略该属性 |
resizeableActivity | boolean, true | 指定应用是否支持多窗口显示,设置为true时,用户可以分屏和自由形状模式启动 Activity。在Application和Activity中都可进行配置 |
API24及以上加入 |
layout
layout中的常见属性,如下配置在API24及以后
<activity android:name=".MyActivity">
<layout android:defaultHeight="500dp"
android:defaultWidth="600dp"
android:gravity="top|end"
android:minHeight="450dp"
android:minWidth="300dp" />
</activity>
字段名 | 值类型 | 解释 | 说明 |
defaultHeight | dp,如600dp | Freeform模式下的默认宽度和高度 | 在API 24及以上加入,主要用于多窗口模式中 |
defaultWidth | dp,如600dp | Freeform模式下的默认宽度和高度 |
|