赞
踩
filter.addAction(“MY_ACTION”);
localBroadcastManager.registerReceiver(myReceiver, filter);
Bundle bundle = new Bundle();
bundle.putParcelable(“DATA”, content);
Intent intent = new Intent();
intent.setAction(“MY_ACTION”);
intent.putExtras(bundle);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
@Override
protected void onDestroy() {
super.onDestroy();
localBroadcastManager.unregisterReceiver(myReceiver);
}
Application相关属性配置
很多人说要在发布的时候手动设置该值为false,其实根据官方文档说明,默认值就是false。
设置是否支持备份,默认值为true,应当慎重支持该属性,避免应用内数据通过备份造成的泄漏问题。
三、WebView安全
提到对于Android4.2以下的JS任意代码执行漏洞,Android4.2以下?不必支持了吧!
请使用https的链接,第一是安全;第二是避免被恶心的运营商劫持,插入广告,影响用户体验。
处理file协议安全漏洞
//若不需支持,则直接禁止 file 协议
setAllowFileAccess(false);
setAllowFileAccessFromFileURLs(false);
setAllowUniversalAccessFromFileURLs(false);
由于webView默认开启密码保存功能,所以在用户输入密码时,会弹出提示框,询问用户是否保存。若选择保存,则密码会以明文形式保存到 /data/data/com.package.name/databases/webview.db中,这样就有被盗取密码的危险。所以我们应该禁止网页保存密码,设置WebSettings.setSavePassword(false)
<meta-data android:name=“android.webkit.WebView.EnableSafeBrowsing”
android:value=“true” />
…
启用安全浏览模式后,WebView 将参考安全浏览的恶意软件和钓鱼网站数据库检查访问的 URL ,在用户打开之前给予危险提示,体验类似于Chrome浏览器。
四、数据存储安全;
此类配置应当妥善存放,不要在类中硬编码敏感信息,可以使用JNI将敏感信息写到Native层。
首先不应当使用SharePreferences来存放敏感信息。存储一些配置信息时也要配置好访问权限,如私有的访问权限 MODE_PRIVATE,避免配置信息被篡改。
避免明文保存签名密码,可以将密码保存到本地,无需上传版本控制系统
在app目录下建立一个不加入版本控制系统的gradle.properties文件:
STORE_PASSWORD = qwer1234
KEY_PASSWORD = demo1234
KEY_ALIAS = demokey
gradle将自动引入gradle.properties文件,可以直接在buld.gradle文件中使用:
signingConfigs {
release {
try {
storeFile file(“E:\FDM\Key\demo.jks”)
storePassword STORE_PASSWORD
keyAlias KEY_ALIAS
keyPassword KEY_PASSWORD
}catch (ex) {
throw new InvalidUserDataException(“You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.”)
}
}
}
五、数据传输安全
HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。可以说是非常基础的安全防护级别了。
该特性让应用可以在一个安全的声明性配置文件中灵活的自定义其网络安全设置,而无需修改应用代码,满足更高的安全性要求。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率
有Android开发3-5年基础,希望突破瓶颈,成为架构师的小伙伴,可以关注我
补缺,体系化深入学习提升
[外链图片转存中…(img-fF2RXoFa-1711736144162)]
这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率
[外链图片转存中…(img-gdJs2NIX-1711736144162)]
有Android开发3-5年基础,希望突破瓶颈,成为架构师的小伙伴,可以关注我
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。