Android未成系统的知识点总结

经常在项目中遇到一些知识点,但是由于比较零散不成系统,就先写在这里作为保存,以后添加到知识体系树中。


1、ua是基于服务器的一种识别,服务器根据你的ua看向服务器发起交互请求的一方是什么内核什么平台是app还是浏览器,从而下发看是html页面或者json数据,服务器也可以根据这个进行页面适配,比如有的浏览器不支持js脚本。


2、混合开发的时候经常接触到webview,从而出现两个让我感觉比较混乱的名称WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢?WebViewClient主要帮助WebView处理各种通知、请求事件的(比如你要alert就不能通过这个实现),WebChromeClient主要辅助WebView处理JavaScript的对话框、网站图标、网站title、加载进度等看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。
更多的时候,你可以这样

WebView webView;  

webView= (WebView) findViewById(R.id.webview); 

 webView.setWebChromeClient(new WebChromeClient());  

webView.setWebViewClient(new WebViewClient());  

webView.getSettings().

setJavaScriptEnabled(true); 

 webView.loadUrl(url);  
然后在对应的 WebViewClient与WebChromeClient里面进行实现。


3、android的通知推送中有个不起眼的知识点是推送的优先级,一开始其实个人是不在意的,一直是默认的优先级,后面在玩游戏的时候被通知弹的很火大才意识到这个真的很影响用户体验性,因此在后面的开发中特别的注意了这一点,google官方给出了这么五个优先级及其解释:

优先级

用法&示例

MAX(最高)

用于重要和紧急的通知,告知用户时间关键型状况,或必须予以解决方可继续执行当前任务。例如来电、闹钟、日历提醒等等。

HIGH(高)

主要用于重要通信,例如包含用户特别感兴趣的内容的消息或聊天事件。高优先级通知也会触发浮动通知(Heads-up)显示。微信、QQ 等即时通讯应用就是很好的使用场景。

DEFAULT(默认)

用于不属于此处所述其他任何优先级的所有通知。

LOW(低)

用于开发者希望告知用户但不是很紧急的通知。低优先级通知最好放在列表底部,用户要求接收相关通知,但这些通知的优先级永远不会高于紧急或直接通信。例如热门微博、促销信息等等。

MIN(最低)

用于上下文或背景信息,该类通知的图标不会出现在状态栏中,用户只能在展开的通知栏中找到它们。比如天气信息或位置信息。

(表格内容内容参考自 Android 应用开发规范

总体而言,DefaultHigh 和 Max 这三个级别应用于那些涉及到另一方用户、时效性高且有必要中断我们正在进行的任务的通知;相反,Low 和 Min 这两个优先级内的通知也可能是我们感兴趣的内容,但这些内容不会涉及到一个正在与我们互动的用户,时效性相对不高并且更适合我们在空闲时间再进行浏览

因此在开发中,可以根据需要设置通知的优先级。优先级充当一个提示,提醒设备 UI 应该如何显示通知。 要设置通知的优先级,请调用 NotificationCompat.Builder.setPriority() 并传入一个 NotificationCompat 优先级常量。有五个优先级别,范围从 PRIORITY_MIN (-2) 到 PRIORITY_MAX (2);如果未设置,则优先级默认为 PRIORITY_DEFAULT (0)。


4、app安装后的存储问题

Android在手机上有三个地方可以存储数据,一个是getfiledir,这个是app内部的一个存储空间很小很小,一般是放数据库或者shardedpreference文件,还有一个是 getexternalfiledir(“这个参数如果传null就是这个文件夹,如子文件果不为空就是这个文件夹下的某个的名字”);这个路径是会随着app被删掉而删掉,一般放专属这个app的文件 最后一个是getExternalStorageDirectory()这个也是sd卡里

获得路径 getCacheDir()方法用于获取/data/data//cache目录 getFilesDir()方法用于获取/data/data//files目录




5、  包名和签名:

包名不一致:系统会认为是个新的软件,这就不算升级了

包名一致,签名不一致:系统会提示先卸载之前安装的版本,才能继续安装新的



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值