- 博客(11)
- 收藏
- 关注

原创 android的TextView的TextWatcher使用
TextWatcher是一个文本变化监听接口,定义了三个接口,分别是beforeTextChanged,onTextChanged,afterTextCahnged.TextWatcher通常与TextView结合使用,以便在文本变化的不同时机做响应的处理。TextWatcher中三个回调接口都是使用了InputFilter过滤器过滤之后的文字字符作为新的字符对象。使用方法mT
2015-11-01 23:13:28
17168
1
原创 SharePreferences实现
android中的文件存储方式有三种读写数据库,读写本地文件,读写SharePreferences。其实读写SharePreferences也属于读写本地文件,android为了方便开发者存储轻量的数据,实现了这个工具。其实android为了方便开发者的使用,提供了很多类似的工具,最典型的就是SyncTask.好,闲话不多说,今天聊聊SharePreferences的实现原理以及andro
2017-09-04 22:58:33
859
原创 scaleType分析
android的scaleType有center,centerCrop,centerInside,fit,fitCenter,fitStart,fitEnd,Matrix。文章分别分析这接种模式的含义与实现算法。Centercenter不放缩,超出dst显示图片中间的元素,代码中是将canvas的坐标平移到能够将图片显示到屏幕中的位置 mDrawMatrix = m
2017-09-04 15:37:52
621
原创 死锁的条件
1.互斥条件,一个资源只能被一个资源使用,比如锁2.请求与保持,一个线程不会因为阻塞而放弃自己已经拥有的资源3.不可剥夺原则4.循环等待,若干线程形成了收尾相连的循环等待可重入锁 与 不可重入锁:可重入锁表示的是一个线程可以进入他已经获取的锁锁定的任何临界区域,一个线程对应一个锁不可重入锁表示的是一个线程必须在锁释放之后才能进行相同锁锁定的临界区域
2017-09-04 15:19:15
278
原创 activity的生命周期
1.单个activity的生命周期图activity是android的四大组件之一,负责界面内容,给用户提供交互接口。映射到mvc模型中,activity相当于view。图1.1描述了activity的基本的生命周期。如图所示,activity在存在期间,会回调onCreate,onStart,onResume,onPause, onStop,onRestart,onSaveI
2015-11-10 10:43:46
1620
原创 网易笔试题,实现一个hashtable,使得他的set,get,setAll时间复杂度都是O()
public class HashTable {public class Entry {String value;intcurrentSet;}private Entry[] list = new Entry[10];intglobalSet;String globalValue;public void set(int key, Stri
2014-10-11 10:51:44
2997
原创 Volley网络框架详解
在Android中,如果需要处理多个数据量小得请求,那么建议使用Volley框架,以下是对该框架的分析。volley中有一个requestqueue类来负责请求的添加跟分派,可以通过Volley类来获得一个requestqueue对象的实例,Volley中的代码public static RequestQueue newRequestQueue(Context context, Htt
2014-10-10 13:27:48
417
转载 android 的dp sp px
当屏幕density=240时,使用hdpi 标签的资源 当屏幕density=160时,使用mdpi标签的资源 当屏幕density=120时,使用ldpi标签的资源。 不加任何标签的资源是各种分辨率情况下共用的。 布局时尽量使用单位dip,少使用px dp与px换算公式:pixs =dips * (densityDpi/160). dips=(pixs*160)
2014-10-10 00:19:12
469
翻译 动态规划
动态规划博大精深,想完全掌握是很难的,不过我们可以从一些简单的例子之中去体会她的奥妙。不说废话、先来一个简单的例子吧:longest path in DAGProblem: Given a weighted directed acyclic graph G=(V, E), an vertex v, where each edge is assigned an in
2014-10-07 18:38:44
420
原创 2个有序数组,寻找他们合并之后的中位数
public static int getMiddle(int[] sortA, int[] sortB) {if (sortA == null && sortB == null) {throw new NullPointerException();} else if (sortA == null || sortB == null) {return (sortA == null)
2014-09-29 13:47:14
456
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人