01 2015 档案

摘要:Android高手进阶——Adapter深入理解与优化 一般是针对包含多个元素的View,如ListView,GridView,ExpandableListview,的时候我们是给其设置一个Adapter。Adapter是与View之间提供数据的桥梁,也是提供每个Item的视图桥梁。以ListVi... 阅读全文
posted @ 2015-01-29 10:35 lianghe 阅读(145) 评论(0) 推荐(0)
摘要:1. 如何自动添加注释 可通过如下三种方法自动添加注释: (1)输入“/**”并回车。 (2)用快捷键 Alt+Shift+J(先选中某个方法、类名或变量名)。 (3)在右键菜单中选择“Source > Generate ElementComment”。 2. 如何自定义注释风格 自带的... 阅读全文
posted @ 2015-01-28 15:31 lianghe 阅读(331) 评论(0) 推荐(0)
摘要:1、概述关于自定义控件侧滑已经写了两篇了~~今天决定把之前的单向改成双向,当然了,单纯的改动之前的代码也没意思,今天不仅会把之前的单向改为双向,还会多添加一种侧滑效果,给大家带来若干种形态各异的双向侧滑菜单,不过请放心,代码会很简单~~然后根据这若干种,只要你喜欢,相信你可以打造任何绚(bian)丽... 阅读全文
posted @ 2015-01-26 17:01 lianghe 阅读(192) 评论(0) 推荐(0)
摘要:1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若... 阅读全文
posted @ 2015-01-23 20:08 lianghe 阅读(298) 评论(0) 推荐(0)
摘要:元数据的作用如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:l编写文档:通过代码里标识的元数据生成文档。l代码分析:通过代码里标识的元数据对代码进行分析。l编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。基本内置注释@Override... 阅读全文
posted @ 2015-01-22 18:01 lianghe 阅读(242) 评论(0) 推荐(0)
摘要:是一个用于存放恢复obtainStyledAttributes(AttributeSet, int[], int, int)或obtainAttributes(AttributeSet, int[])值的一个数组容器,当操作完成以后,一定要调用recycle()方法。用于检索的索引值在这个结构对应的... 阅读全文
posted @ 2015-01-22 11:23 lianghe 阅读(435) 评论(0) 推荐(0)
摘要:1、概述记得初学那会写过一篇博客Android 完美实现图片圆角和圆形(对实现进行分析),主要是个自定View加上使用Xfermode实现的。其实实现圆角图片的方法应该很多,常见的就是利用Xfermode,Shader。本篇博客会直接继承直接继承ImageView,使用BitmapShader实现圆... 阅读全文
posted @ 2015-01-21 15:01 lianghe 阅读(271) 评论(0) 推荐(0)
摘要:*Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, *样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,*大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。**1.图形绘制*setARGB(inta,intr,intg,intb);*设置绘制的颜... 阅读全文
posted @ 2015-01-21 11:32 lianghe 阅读(276) 评论(0) 推荐(0)
摘要:1.LRU1.1.原理LRU(Leastrecentlyused,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2.实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1.新数据插入到链表头部;2.每当缓存命中... 阅读全文
posted @ 2015-01-21 11:24 lianghe 阅读(247) 评论(0) 推荐(0)
摘要:1、概述今天给大家带来SurfaceView的一个实战案例,话说自定义View也是各种写,一直没有写过SurfaceView,这个玩意是什么东西?什么时候用比较好呢?可以看到SurfaceView也是继承了View,但是我们并不需要去实现它的draw方法来绘制自己,为什么呢?因为它和View有一个很... 阅读全文
posted @ 2015-01-21 10:51 lianghe 阅读(772) 评论(0) 推荐(1)
摘要:protectedintmScrollX;//该视图内容相当于视图起始坐标的偏移量,X轴方向protectedintmScrollY;//该视图内容相当于视图起始坐标的偏移量,Y轴方向偏移量表示的就是相对位置,而不是针对起始点的绝对位置。就像在路上的一个点,它距起始点的距离就是绝对长度;而距中途某个... 阅读全文
posted @ 2015-01-20 11:22 lianghe 阅读(396) 评论(0) 推荐(0)
摘要:View在屏幕上显示出来要先经过measure(计算)和layout(布局).1、什么时候调用onMeasure方法?当控件的父元素正要放置该控件时调用.父元素会问子控件一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec.这两... 阅读全文
posted @ 2015-01-20 10:53 lianghe 阅读(414) 评论(0) 推荐(0)
摘要:1、Context概念其实一直想写一篇关于Context的文章,但是又怕技术不如而误人子弟,于是参考了些资料,今天准备整理下写出来,如有不足,请指出,参考资料会在醒目地方标明。Context,相信不管是第一天开发Android,还是开发Android的各种老鸟,对于Context的使用一定不陌生~~... 阅读全文
posted @ 2015-01-19 15:32 lianghe 阅读(217) 评论(0) 推荐(0)
摘要:Android Animation简述一、动画(Animation) Android框架提供了两种动画系统:属性动画(Android3.0)和视图动画。同时使用两种动画是可行的,但是一般首选使用属性动画,因为它更灵活、提供更多功能。除了这两种动画,你也可使用绘制动画——允许你加载drawable资源... 阅读全文
posted @ 2015-01-17 11:23 lianghe 阅读(284) 评论(0) 推荐(0)
摘要:要实现聊天功能中的发送不同类型的信息,比如纯文本、图片、语音、图文混排多媒体的数据等(具体效果看微信)。这里使用AdapterTypeRender在BaseTypeAdapter(这个之后会讲到)中实现。这里主要的实现方式是在ChatAdapter(继承BaseTypeAdapter)中根据每个po... 阅读全文
posted @ 2015-01-15 20:29 lianghe 阅读(217) 评论(0) 推荐(0)
摘要:HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。意思就是说用SparseArray来替代,以获取更好性能。老实说,对SparseArray... 阅读全文
posted @ 2015-01-15 15:37 lianghe 阅读(143) 评论(0) 推荐(0)
摘要:service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:A started service 被开启的service通过其他组件调用startService()被创建。 这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用stopServi... 阅读全文
posted @ 2015-01-13 11:23 lianghe 阅读(193) 评论(0) 推荐(0)
摘要:1. 为什么要签名1) 发送者的身份认证由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换2) 保证信息传输的完整性签名对于包中的每个文件进行处理,以此确保包中内容不被替换3) 防止交易中的抵赖发生,Market对软件的要求2. 签名的说明1)... 阅读全文
posted @ 2015-01-12 15:12 lianghe 阅读(385) 评论(0) 推荐(0)
摘要:Java反射机制是Java语言被视为准动态语言的关键性质。Java反射机制的核心就是允许在运行时通过JavaReflectionAPIs来取得已知名字的class类的相关信息,动态地生成此类,并调用其方法或修改其域(甚至是本身声明为private的域或方法)。也许你使用Java已经很长时间了,可是几... 阅读全文
posted @ 2015-01-10 16:47 lianghe 阅读(215) 评论(0) 推荐(0)
摘要:一开始需要说明的是,Google之所以要将一些API隐藏(指加上@hide标记的public类、方法或常量)是有原因的。其中很大的原因就是Android系统本身还在不断的进化发展中。从1.0、1.1到现在即将问世的Android2.3.4。这些隐藏的API本身可能是不稳定的,所以,使用隐藏API,意... 阅读全文
posted @ 2015-01-10 16:05 lianghe 阅读(262) 评论(0) 推荐(0)