Android适配全面总结(二)
上一篇文章讲了 屏幕适配 http://www.jianshu.com/p/7aa34434ad4d
这一篇文章讲一下 版本适配。
*在我们的开发中,会对不同安卓版本做适配,比如我之前做过的项目中最低兼容到4.4,最高兼容是最新的系统7.1,由于不同版本的系统中部分API版本也不同,我就要对这些API做特殊处理。新的平台有一些API不能使用旧的API,旧的平台也使用不了新的API。所以这就要考验我们开发人员的能力了。我这里简单给出几点我开发中使用过的一些方式,仅供参考:
####一、同一个api在不同版本都存在,只是api的一些接口方法有变更。
这种情况是最好处理的,只要对版本号做判断,对应的系统版本用相应的api方法就好了。为了好维护,建议做一个简单的封装。
举例说明如下:
比如Notification在不同版本的兼容,举例如下:
首先打开谷歌官方文档,看看文档里面的一些说明:
Notification官方文档
1.Notification这个类是added in API level 1,一直都有,只是具体某些方法有变更。继续往下看。
2.这个类有个说明,意思是Notification.Builder是新增的一个内部类,用它创建通知更方便。接着往下看。
A class that represents how a persistent notification is to
be presented to the user using the NotificationManager.The Notification.Builder has been added to make it easier
to construct Notifications.
复制代码
3.Public constructors公共的构造方法,其中有3个参数的这个在api 11过时,它被Notification.Builder替代了。
Notification(int icon, CharSequence tickerText, long when)This constructor was deprecated in API level 11.
Use Notification.Builder instead.
复制代码
4.常量
EXTRA_LARGE_ICON
This constant was deprecated in API level 26. Use getLargeIcon(), which supports a wider variety of icon sources.(在API级别26中已弃用。使用getLargeIcon(),它支持更多种图标源。)EXTRA_SMALL_ICON
This constant was deprecated in API level 26. Use getSmallIcon(), which supports a wider variety of icon sources.(在API级别26中已弃用。使用getSmallIcon(),它支持更多种图标源。)FLAG_HIGH_PRIORITY
This constant was deprecated in API level 16. Use priority with a positive value.(在api16被弃用,请使用正数priority值替代)FLAG_SHOW_LIGHTS
This constant was deprecated in API level 26. use shouldShowLights().(在API级别26中已弃用。请使用shouldShowLights()
替代)PRIORITY_DEFAULT
This constant was deprecated in API level 26. use IMPORTANCE_DEFAULT instead.(在API级别26中已弃用。请使用IMPORTANCE_DEFAULT
替代)PRIORITY_HIGH
This constant was deprecated in API level 26. use IMPORTANCE_HIGH instead.(在API级别26中已弃用。请使用IMPORTANCE_HIGH
替代)PRIORITY_LOW
This constant was deprecated in API level 26. use IMPORTANCE_LOW instead.(在API级别26中已弃用。请使用IMPORTANCE_LOW
替代)PRIORITY_MAX
This constant was deprecated in API level 26. use IMPORTANCE_HIGH instead.(在API级别26中已弃用。请使用IMPORTANCE_HIGH
替代)PRIORITY_MIN
This constant was deprecated in API level 26. use IMPORTANCE_MIN instead.(在API级别26中已弃用。请使用IMPORTANCE_MIN
替代)STREAM_DEFAULT
This constant was deprecated in API level 21. Use getAudioAttributes() instead.(在API级别21中已弃用。请使用getAudioAttributes()
替代)
5.字段Fields
audioAttributes
在api 26弃用. 使用getAudioAttributes()
替代.audioStreamType
在api 21弃用. 使用audioAttributes
替代.defaults
此字段在API 26弃用。使用getSound()
和shouldShowLights()
和shouldVibrate()
。icon
此字段已在API级别26中弃用。使用setSmallIcon(Icon)
替代。largeIcon
This field was deprecated in API level 23. Use `setLargeIcon(Icon) instead.ledARGB
This field was deprecated in API level 26. use `shouldShowLights().ledOffMS
This field was deprecated in API level 26. use `shouldShowLights().ledOnMS
This field was deprecated in API level 26. useshouldShowLights().
priority
This field was deprecated in API level 26. usegetImportance()
instead.sound
This field was deprecated in API level 26. usegetSound()
instead.vibrate
This field was deprecated in API level 26. usegetVibrationPattern()
.
####二、
####三、
####四、
Android适配全面总结(二)相关推荐
- android ui布局适配,Android适配全面总结(一)----屏幕适配
前言 Android适配是一个老生常谈的问题,很多程序员觉得很恶心,不愿意做适配,但是又不得不做.然后老板说,这位兄弟,做好了,今天晚饭给你加个鸡腿,然后程序员开始找各种资料,忙活起来了,最终在苦逼的 ...
- Android适配虚拟按键-亲测华为小米手机有效
Android适配虚拟按键-亲测华为小米手机有效 应用上传华为应用市场,结果被拒,原因是真人测试手机带虚拟按键,结果导致虚拟按键和屏幕某点击事件冲突,一点击就会退出到手机主页.废话不多说,直接上代码. ...
- Android基础知识(二十):Notification、提醒式通知(横幅)踩坑与通知界面设置跳转
Android基础知识(二十):Notification.提醒式通知(横幅)踩坑与通知界面设置跳转 一.Notification通知与基本用法 通知Notification是Android系统中比较有 ...
- Android进阶知识(二十五):Bitmap简介及其高效加载
Android进阶知识(二十五):Bitmap简介及其高效加载 一.Bitmap Bitmap代表一个位图,在Android中指的是一张图片,可以是png.jpg等格式的图片.BitmapDraw ...
- Android适配全面总结(一)----屏幕适配
版权声明:本文为博主原创文章(部分引用他人博文,已加上引用说明),未经博主允许不得转载.https://www.jianshu.com/p/7aa34434ad4d 转载请标明出处: https:// ...
- Android bluetooth介绍(二): android 蓝牙代码架构及其uart 到rfcomm流程
关键词:蓝牙blueZ UART HCI_UART H4 HCI L2CAP RFCOMM 版本:基于android4.2之前版本 bluez内核:linux/linux3.08 系统:an ...
- android如何适配,Android适配全攻略(学习笔记总结)
Android适配全攻略(学习笔记总结) 一.为什么要进行屏幕适配 某厂商统计如下数据 2012年,支持Android的设备共有3997种 2013年,支持Android的设备共有11868种 201 ...
- android开发实验报告二,《Android 移动应用开发》实验报告-范本2(33页)-原创力文档...
实验1<Android活动的使用> 实验学时: 2 每组人数: 1 实验类型: 1 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 1 (1:必修 2:选修 3:其它) 实 ...
- Java IO在Android中应用(二):APK加固
Java I/O在Android中应用(二):APK加固套壳 前言(废话) 我,有两把键盘,第一把是Poker III(黑轴),第二把是Poker II(红轴).工作的时候我常用的是红轴的Poker ...
- Android Contextual Menus之二:contextual action mode
Android Contextual Menus之二:contextual action mode 接上文:Android Contextual Menus之一:floating context me ...
最新文章
- gdb基本命令 与 技巧
- 命令行验证apk签名
- 强制关机对电脑的影响_电脑强制关机,对电脑有影响吗?你被伪科普骗了多久?...
- 中考新大纲:初中数学无非就这26个考点!孩子吃透,再笨也能考115分!
- 带彩色字体的man pages(debian centos)
- spring学习(8):log4j.properties 详解与配置步骤
- 接口规范 9. 推流认证相关接口
- TransactionScope 事务使用说明
- 使用Android开发工具23版更新Eclipse
- SQL Server 默认和命名实例连接问题-TCP/IP 端口
- ROS-Academy-for-Beginners之ORB-SLAM2 双目视觉初探
- 面试官:说说 Spring 事务设计原理?面试必问!
- “朝三暮四”与“BPO”
- 设置HTML元素的透明度
- Mybatis事务管理的两种方式
- 【Python爬虫】IOS苹果商店指定APP评论爬取
- 全国计算机一级WORD第三套,全国计算机等级考试一级WPSOffice练习题及答案第三套.docx...
- JSP——连接数据库、编写api接口
- LeetCode225. Implement Stack using Queues
- HTML+CSS大作业:餐饮美食网页设计与实现——下午茶甜点美食带psd(6页)