- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android 应用开发兼容性问题整理
(仅供内部使用)
目录
1 案例描述 2
2 案例分析 2
2.1 解决兼容性问题的利器 2
2.2 Dialog.setMessage(String str) 3
2.3 不要用AutoCompleteBox组件 4
2.4 快捷方式 5
2.5 Android类库中java.net.InetAddress的差异 8
2.6 手机厂商兼容性评分 9
3 总结 10
关键词:
Android,
摘 要:
Google的战略造成Android生态系统的混乱,混乱给Android应用开发带来阻力,本案例总结了几个本人工作中遇到的Android兼容性问题,提供一些解决思路,避免浪费时间。由于本人工作是Android的应用开发,本案例不讨论硬件方面的问题。
案例描述
Android应用开发的同学,在工作中一定会经常遇到这样的场景:测试人员拿着手机,气势汹汹的过来,“这个bug刚改好,怎么又有了?”,开发的同学皱起眉头找原因,同样的程序在三星手机上策马奔腾,却在魅族手机上折戟沉沙。 做web开发的尤其做前端的同学,都知道各浏览器之间存在兼容性问题。Android应用开发中同样存在令人头疼的兼容性问题,如鬼魅一般如影随形,隐匿在开发的各个角落。
本篇案例,就以本人艰苦卓绝的一年Android应用开发经验为基础,整理出一些Android兼容性问题。希望能够为开发人员提供一些解决思路,少走弯路。需求人员可以以此为参照,在做需求的时候避免一些兼容性问题频发的地方,不要折腾。测试人员也可以阅读此案例,做好测试Android应用的思想准备。在案例最后,也会总结一下几个厂商的手机在兼容性上的表现,需求、开发、测试人员在做Android应用相关工作的时候 ,多加注意。
案例分析
解决兼容性问题的利器
Android操作系统由于Google的开源推广,惨遭各大手机生产厂商修改折腾,同一版本号的Android系统在不同的手机上会出现差别。再者,Android一出世便身负重任,版本更新的速度非常快,这也导致了不同Android版本会有差别。甚者,同一家手机厂商推出不同型号的手机采用不同的Android系统版本、是否修改Android源码,都会引起应用程序的一些表现差异。所以,我们在碰到了兼容性问题的时候,找寻的直接原因要从系统版本、手机厂商、手机型号等方面入手。
幸好,Android api提供的android.os.Build类能够为我们提供这些信息,从而根据这些信息对应用程序做适当的处理。下面列举了,android.os.Build类中比较常用的静态成员变量。
android.os.Build.MANUFACTURER :生产厂商
android.os.Build.MODEL :设备名android.os.Build.VERSION.SDK:sdk版本号android.os.Build.VERSION.SDK_INT : sdk版本号,int类型
Dialog.setMessage(String str)
贴代码:
public void openVersionDialog(final Context context, final String message,
String fileName, String fileSize){
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle(context.getString(R.string.new_version));
String msg = context.getString(R.string.version_info) + message
+ context.getString(R.string.install_package, fileSize);
dialog.setMessage(msg);
dialog.create();
dialog.show();
}
上面的代码,是为了进行一个弹出框提示,同样的代码,不同手机上dialog.setMessage(msg)的表现不同。
图2-2-1 Meizu手机 图2-2-2 Philips手机
对于dialog.setMessage(msg)的处理,Meizu手机中的字段是居中对齐的,而目前测试到别的厂商的手机都是左对齐,三星、Philips、Htc都是左对齐。如果开发人员
您可能关注的文档
- 2016中考化学第二部分专题突破强化训练专题一物质的组成、构成和分类课件新人教版摘要.ppt
- 专题11_pH和中和反应介绍.ppt
- 2016中考精英总复习历史(人教版)习题课件:中国古代史第一单元中华文明的起源、国家的产生和社会变革摘要.ppt
- 专题12人类活动与气候介绍.ppt
- 2016中考科学第一部分生命科学专题2构成生物体的细胞、组织、器官和系统课件摘要.ppt
- 专题13种群和群落介绍.doc
- 专题22.1.1植物细胞工程的基本技术介绍.ppt
- 2016中考生物专题06神经调节和激素调节试题.摘要.doc
- 2016中考物理第3课时课件摘要.pptx
- 专题222动物细胞工程222动物细胞融合与单克隆抗体介绍.ppt
最近下载
- 水库堤坝工程预算方案(3篇).docx VIP
- 《与同学们谈地理》 课件 2025七年级地理上册人教版.pptx VIP
- 100ASK_IMX6ULL-QEMU使用及开发教程_高级用户使用手册.pdf VIP
- 饮食配餐食物交换份法.ppt VIP
- 设备监理师《设备监理基础知识和相关法规》试题及答案.doc VIP
- 贵州省2025年高职院校分类考试招生中职生文化综合英语试题.docx VIP
- 2025年秋统编版语文三年级上册全册同步课件(课标版).pptx
- 南京大学普通天文学课件01天文学史.pptx VIP
- Roland罗兰乐器INTEGRA-7 拥有真实技术的音源INTEGRA-7 说明书用户手册.pdf
- 助学贷款申请表.doc VIP
文档评论(0)