1.EditText是否可编辑
需两行代码一同使用
mEt_percentage.setClickable(false);
mEt_percentage.setEnabled(false);
2.时间戳转换为北京时区时间并显示星期数
时间戳转换成不同时区的时间可能并不是同一天,所以如果要保证转换时区是北京的话,需要设置时区为“GMT+8”。
yyyy-MM-dd EEEE:其中EEEE代表星期
SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd EEEE”);
format.setTimeZone(TimeZone.getTimeZone(“GMT+8”));
String d = format.format(long);
3.API 23以后获取定义的颜色
使用ContextCompat.getColor(context,R.color.white)
getResources().getColor(R.color.white) 方法已过时
4.Activity的启动模式SingleTask
再次启动该Activity时如果需要更新界面需重写:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
//更新界面
...
}
5.安卓备份标识配置
漏洞说明:Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值,其属性值默认是true。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。
Android属性allowBackup安全风险源于adb backup容许任何一个能够打开USB 调试开关的人从Android手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore容许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。
因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。
对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等。
<application
//防止备份
android:allowBackup="false"
//如果改为false后出现冲突,可加上这段代码
tools:replace="android:allowBackup">
6.include使用
include必须在外围添加layout_width和layout_height属性其他属性才能生效,如下:
<include android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" layout="@layout/include_park_detail" />