- 博客(12)
- 资源 (85)
- 收藏
- 关注
原创 Android开发笔记(八十三)多语言支持
汉字转拼音app中有许多场景要对汉字排序,例如通讯录姓名、商品名称、城市名称等等,这些汉字词汇通常是按照拼音排序,所以产生了把汉字转换为拼音的需求。Android自带库Android自带的联系人应用,就支持对联系人按照姓名排序,内置汉字转拼音的源码位于路径“packages\providers\ContactsProvider\src\com\android\providers
2016-03-21 12:57:59 5265 4
原创 Android开发笔记(八十二)SDK版本兼容
统一主题与风格Android控件很多属性都有默认值,比如文字默认黑色、编辑框默认透明背景等等,但因为android是开源的,各厂商都会自行修修补补,所以很多时候默认值并不靠谱。举例如下:1、在某些低版本的Android上,如不指定文字颜色textColor,则默认的文字颜色是白色;2、编辑框有的默认透明背景加一根底线,有的默认白色圆角背景;3、主题Theme.Holo默认是浅灰背景
2016-03-18 13:00:37 3141
原创 Android开发笔记(八十一)屏幕规格适配
Configuration适配各种屏幕规格,首先要取到系统对于屏幕的配置信息,这些配置可从工具类Configuration获得。Configuration对象在Activity中通过调用getResources().getConfiguration()得到,该对象的常用属性说明如下:touchscreen : 屏幕触摸方式。有下列几种取值定义:"未定义", "不支持触摸", "专用笔触摸"
2016-03-16 14:25:50 3349 2
原创 Android开发笔记(八十)运行状态检查
大家都知道刻舟求剑的寓言故事,说的是事物是发展变化着的,如果拘泥于原来的情况,那随着情况的改变,就不会得到预期的结果。同样,影响app运行的因素,并不只是外部环境(如硬件、系统、权限等等),还包括app自身的运行信息。如果app的运行状态发生了变化,那么原先处理正确的逻辑也可能处理失败,所以在特定的情况下,我们得对app的运行情况进行检查。apk安装信息启动app的时候,常常会检查
2016-03-15 14:46:55 2414
原创 Android开发笔记(七十九)资源与权限校验
硬件资源因为移动设备的硬件配置各不相同,为了防止使用了不存在的设备资源,所以要对设备的硬件情况进行检查。一般情况下,前置摄像头、部分传感器在低端手机上是没有的,像SD卡也可能因为用户没插卡使得找不到SD卡资源。下面是校验这些硬件设备的说明:SD卡Android4.0之后增加了多存储卡的支持,故一般手机有内置存储卡和外置存储卡(即SD卡),其中外置存储卡便是可选的。获取各个存储卡
2016-03-14 10:50:43 2918
原创 Android开发笔记(七十八)异常容错处理
ExceptionJava的异常分两类,运行时异常RuntimeException和非运行时异常。运行时异常包括空指针异常NullPointerException、数组越界异常IndexOutOfBoundsException、类型转换异常ClassCastException、数据库异常SQLException等等,(网上很多文章把SQLException归为非运行时异常,但查看源码SQL
2016-03-11 13:00:17 2940 1
原创 Android开发笔记(八十四)使用Properties读写属性值
Properties概述Java中的配置文件常为.properties文件,而Properties类便是读写此类文件的工具。属性文件有两种格式,一种是文本格式,其内容是“键=值”的形式,文本注释信息可以用"#"来注释。另一种是XML格式,键值对遵循XML规范,Android的SharedPreferences也是以xml存储的。下面是Properties的常用方法:load :
2016-03-10 15:10:34 6418
原创 Android开发笔记(七十七)图片缓存算法
ImageCache由于手机流量有限,又要加快app的运行效率,因此好的app都有做图片缓存。图片缓存说起来简单,做起来就用到很多知识点,可算是集Android技术之大全了。只要理解图片缓存的算法,并加以实践把它做好,我觉得差不多可以懂半个Android的开发。缓存策略图片缓存一般分为三级,分别是内存、磁盘文件与网络图片。正常情况下,app会先到内存寻找图片,如果有找到,则直接
2016-03-09 14:46:00 3471
原创 Android开发笔记(七十六)线程池管理
线程池的种类在前面的《Android开发笔记(四十八)Thread类实现多线程》,我们介绍了线程类Thread的使用,可是缺乏线程的统一管理,这会产生如下问题:1、无法控制线程的并发数,一旦同时启动多个线程,可能导致程序挂死;2、线程之间无法复用,每个线程都经历创建、启动、停止的生命周期,资源开销不小;3、线程不能被外部有效地杀死,虽然Thread类提供了stop方法,但该方法已经
2016-03-07 09:23:24 2501
原创 Android开发笔记(七十五)内存泄漏的处理
内存泄漏的原因一直以来以为只有C/C++才存在内存泄漏的问题,没想到拥有内存回收机制的Java也可能出现内存泄漏。C/C++存在指针的概念,程序中需要使用指针变量时,就从内存中开辟一块区域,并把该区域的首地址赋值给一个指针,这样程序才可操作该指针指向的内存区域。因为C/C++设计上的原因,手工分配的内存,也要手工来释放,如malloc/free是C中分配/释放内存的运算符,而new/delet
2016-03-04 15:20:42 3730 2
原创 Android开发笔记(七十四)布局文件优化
include/merge布局优化中常常用到include/merge标签,include的含义类似C代码中的include,意思是直接把指定布局片段包含进当前的布局文件。include适用于多个布局文件中存在相同的xml片段,比如说相同的标题栏、相同的广告栏、相同的进度栏等等。include的用法很简单,只有下面一句话:这时必定有个common_title.xml的布局文件,它用于在
2016-03-03 14:41:57 2786
原创 Android开发笔记(七十三)代码混淆与反破解
代码混淆ProGuard是ADT自带的apk混淆器,它的用途有:1、压缩apk包的大小,能删除无用的代码,并简化部分类名和方法名。2、加大破解源码的难度,因为部分类名和方法名被重命名,使得程序逻辑变得难以理解。代码混淆的规则在proguard-project.txt中编写,然后在project.properties补充规则文件的路径,如下所示:proguard.conf
2016-03-01 16:26:57 4904 1
Android使用更多更好看图像控件的代码例子
2016-09-06
Android使用列表弹窗的代码例子
2016-09-05
Android操作工具栏Toolbar的代码例子
2016-09-05
Android对图片进行特效处理的代码例子
2016-09-01
Android自定义Drawable的代码例子
2016-08-31
Android对多语言支持的代码例子
2016-08-30
Android兼容5.0水波动画的代码例子
2016-08-30
Android对屏幕规格适配的代码例子
2016-08-30
Android对资源和权限进行校验的代码例子
2016-08-29
Android上传文件的代码例子
2016-08-29
Android对运行时状态检查的代码例子
2016-08-29
Android使用任务调度JobScheduler的代码例子
2017-05-11
Android浏览书籍的层叠翻页动画效果
2017-05-04
Android读取ppt和pdf文件的代码例子
2017-04-16
Android读取并显示word文件的代码例子
2017-04-09
Android实现可定制可滑动的标签栏的代码例子
2017-04-09
Android使用截图和录屏功能的代码例子
2017-03-24
Android使用文本输入布局TextInputLayout的代码例子
2017-03-15
Android自定义行为Behavior的代码例子
2017-03-08
Android使用协调布局CoordinatorLayout的代码例子
2017-02-27
Android使用可折叠工具栏布局CollapsingToolbarLayout的代码例子
2017-02-24
Android使用应用栏布局AppBarLayout的代码例子
2017-02-24
Android使用导航视图NavigationView的代码例子
2017-02-24
Android使用水波图形和矢量图形的代码例子
2017-02-09
Android使用提示窗Snackbar的代码例子
2017-02-09
Android校验手机制式适配的代码例子
2017-02-09
Android使用变换图形的代码例子
2017-02-09
Android自定义音乐播放器的代码例子
2016-09-20
Android自定义视频播放器的代码例子
2016-09-12
Android自带的循环器视图RecyclerView的代码例子
2016-09-02
Android自带的两个侧滑布局的代码例子
2016-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人