Android开发实践(一)
2015-11-05 18:16
661 查看
Google近期公布了Android开发最佳实践的一系列课程,涉及到一些平时开发过程中应该保持的良好习惯以及如何使用最新的Android Design Support Library来快速实现官方推荐的Material Design样式的应用。在此,分享下我的学习总结,以便帮助更多的Android开发人员。
1.注意对隐式Intent的运行时检查保护
类似打开相机、发送图片等隐式Intent,并不一定能够在所有的Android设备上都正常运行。例如打开相机的隐式Intent,如果系统相机应用被关闭或者不存在相机应用,又或者是相机应用的某些权限被关闭等情况,都可能导致这个隐式的Intent无法正常工作,一旦发生隐式Intent找不到合适的调用组件的情况,系统就会抛出ActivityNotFoundException的异常,如果我们的应用没有对这个异常做任何处理,那应用就会发生Crash。
预防这个问题的最佳方案是在发出这个隐式Intent之前调用resolveActivity做检查,关于这个API的解释以及用法如下:
这个API的使用范例如下:
2.使用NotificationCompat兼容包来处理消息通知
为了解决Android系统版本差异导致的Notification兼容性问题,Android官方提供了NotificationCompat兼容类来帮助开发实现体验统一的Notification。通常来说,建立一个Notification至少会有三种元素:图标、标题、文本。我们通常会使用如下的代码来实现一个基础的Notification功能:
上面那段代码,运行时的效果应该如下所示:
为了给上面的Notification添加点击之后的响应效果,我们还需要构造一个PendingIntent作为contentIntent,例如:
为了使Notification更加具有辨识度,我们还可以做如下的设置:
从Android 4.1开始,Notification可以支持展开显示的模式,这样一来,Notification就演变出了下面4种不同的风格样式:
Notification还提供了快捷操作的功能,如下图所示:
除了显示在手机上的Notification,我们还可以给Notification分别设置在Wearable、Auto上的不同表现行为,例如针对可穿戴设备上显示Notification,我们可以进行如下设置:
参与双十一有奖活动!QCY无线立体运动蓝牙耳机、限量珍藏版U盘等豪礼等你来拿!“双十一大礼”抢好礼火热进行中,回复关键词“双十一”或者“1111”参与吧!
更多福利,更多好玩,请持续关注我们。
1.注意对隐式Intent的运行时检查保护
类似打开相机、发送图片等隐式Intent,并不一定能够在所有的Android设备上都正常运行。例如打开相机的隐式Intent,如果系统相机应用被关闭或者不存在相机应用,又或者是相机应用的某些权限被关闭等情况,都可能导致这个隐式的Intent无法正常工作,一旦发生隐式Intent找不到合适的调用组件的情况,系统就会抛出ActivityNotFoundException的异常,如果我们的应用没有对这个异常做任何处理,那应用就会发生Crash。
预防这个问题的最佳方案是在发出这个隐式Intent之前调用resolveActivity做检查,关于这个API的解释以及用法如下:
这个API的使用范例如下:
[Java] view plaincopy 1. Intent intent = new Intent(Intent.ACTION_XXX); 2. ComponentName componentName = intent.resolveActivity(getPackageManager()); 3. if(componentName != null) { 4. String className = componentName.getClassName(); 5. } |
为了解决Android系统版本差异导致的Notification兼容性问题,Android官方提供了NotificationCompat兼容类来帮助开发实现体验统一的Notification。通常来说,建立一个Notification至少会有三种元素:图标、标题、文本。我们通常会使用如下的代码来实现一个基础的Notification功能:
上面那段代码,运行时的效果应该如下所示:
为了给上面的Notification添加点击之后的响应效果,我们还需要构造一个PendingIntent作为contentIntent,例如:
[Java] view plaincopy 1. PendingIntent intent = xxx; 2. builder.setContentIntent(intent); |
从Android 4.1开始,Notification可以支持展开显示的模式,这样一来,Notification就演变出了下面4种不同的风格样式:
Notification还提供了快捷操作的功能,如下图所示:
除了显示在手机上的Notification,我们还可以给Notification分别设置在Wearable、Auto上的不同表现行为,例如针对可穿戴设备上显示Notification,我们可以进行如下设置:
参与双十一有奖活动!QCY无线立体运动蓝牙耳机、限量珍藏版U盘等豪礼等你来拿!“双十一大礼”抢好礼火热进行中,回复关键词“双十一”或者“1111”参与吧!
更多福利,更多好玩,请持续关注我们。
相关文章推荐
- Android APK反编译详解(附图)
- Socket通信原理
- Android开发消除横向排列的多个Button之间的空隙
- 第十例:获取手机号获取本机通讯录中存储的姓名
- Android中Handler 、Thread和Runnable之间的关系
- Android-07 Android Context详解
- Android 判断横屏还是竖屏以及设置方式
- Android4.4 模拟器system.img制作
- android 官方侧滑菜单 DrawerLayout 详解
- Android 事件分发机制
- Android菜单详解——子菜单(SubMenu)
- Android-05 Android的MVC设计框架浅析
- Android中SQLite应用详解
- Android下拉刷新ListView设计
- 【Android】近日问题小计
- Android编程判断横屏、竖屏及设置横竖屏的方法
- Android是如何改变了嵌入式格局
- Android菜单详解(四)——使用上下文菜单ContextMenu
- 【Android学习之道】 四大组件之ContentProvider内容提供器
- AsyncTask的执行流程及其细节点