该问题很简单吧,都会吧?不会吧不会吧,你还不会?
以Android程序进行更新晋级为例,一般情况下,APP启动都会恳求服务端:是否有新版本APK?
如果有晋级需要,那么服务端或许会回来如下数据:
{'msg':'更新日志','url':'下载地址','version':'版本号',......}
那么此刻咱们经过服务端呼应的json数据中新版本APK的URL地址对APK文件进行下载,然而在互联网中进行文件传输过程中,或许因为各种原因导致文件的不完整。此刻咱们程序中若无法进行APK文件完整性的判断,直接恳求安装此APK文件,很显然会显示:无法安装。
为了处理这个文件,服务端的呼应数据中需要添加文件校验码( MD5、SHA1、CRC32)。以MD5为例,服务端在呼应的数据中新增了:md5字段。
{'msg':'更新日志','url':'下载地址','version':'版本号','md5':'xxx',......}
每个文件都能够用 MD5 验证程序算出一个固定的 MD5 码。当客户端下载了文件后,能够计算所下载的文件的 MD5 码,和服务端呼应的 MD5 码比较。如果计算出来的和服务端呼应的不匹配,那么下载的APK文件不完整,或是被别人动过手脚。
因而能够经过文件校验的方式保证下载文件的完整性。
答案虽短(和你相同???)但很准确(短小精悍???)恶作剧别当真
今日分享到此结束,对你有协助的话,点个赞再走呗,每日一个面试小技巧
重视大众号:Android老皮
解锁 《Android十大板块文档》 ,让学习更贴近未来实战。已形成PDF版
内容如下:
1.Android车载应用开发体系学习指南(附项目实战)
2.Android Framework学习指南,助力成为体系级开发高手
3.2023最新Android中高档面试题汇总+解析,离别零offer
4.企业级Android音视频开发学习路线+项目实战(附源码)
5.Android Jetpack从入门到通晓,构建高质量UI界面
6.Flutter技能解析与实战,跨平台首要之选
7.Kotlin从入门到实战,全方面提高架构根底
8.高档Android插件化与组件化(含实战教程和源码)
9.Android 功能优化实战+360全方面功能调优
10.Android零根底入门到通晓,高手进阶之路
敲代码不易,重视一下吧。ღ( ・ᴗ・` )