- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 SQLiteOpenHelper/SQLiteDatabase/Cursor源码解析
我们在使用android提供的SQLite存储数据的时候,就会用到SQLiteOpenHelper和SQLiteDataBase,但查询数据的时候会得到一个Cursor对象,这里我们将深入android提供的关于SQLite的封装以原理。SQLiteOpenHelper——封装管理数据库的创造和版本管理类主要封装了数据库的创建和获取的方法,一般继承该类实现onCreate()、o
2016-06-04 13:53:55
6108
原创 CSS
CSS—-分离网页内容结构和格式控制W3C CSS使用css语法结构由3部分组成:选择符、样式属性、值 选择符:选择要修饰的对象,可以使HTML的标签,也可以是特定id、class的标签属性:颜色、大小,定位、浮动方式值:属性值语法:选择符{样式属性:值; 样式属性:值; ...}添加CSS方法 链接外部样式表内部样式表导入外部样式表内嵌样式1、链接外部样式表<head><li
2016-05-29 10:42:43
682
原创 HTML小结
HTMLhead meta…body …HTML:http://www.w3school.com.cn/tags/tag_frameset.aspheadmeta提供页面信息<meta name="keywords" content="某个关键字"/> // 某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类。<meta name="author" content="y
2016-05-28 21:09:54
592
原创 EventBus -- 源码解析
好久没写博客,最近也不是特别忙,但是懒,似乎忘记了初衷。这不行啊,不行,要恢复状态。假设你已经熟悉EventBus的使用,现在就从EventBus的入口开始。EventBus的构建EventBus的属性有点多,先看下构造函数:public EventBus() { this(DEFAULT_BUILDER);}可以看到,EventBus的配置是根据EventBusBuilder进行
2016-04-06 15:49:05
717
原创 ButterKnife -- 源码分析 -- 在‘编译期’间生成findViewById等代码
简介在之前简单分析了xUtils的View模块注入,其通过注解,在程序运行时去获取注解的成员及方法,再通过反射及动态代理实现View的注入和监听器的绑定。这些都是在运行过程中进行的,难免会影响程序的性能。而今天要分析的ButterKnife也是通过注解实现View模块的注入,但不同的是,它是在编译期生成View注入的代码,从而实现注入。也就是通过注解注释将要注入的View和方法,在编译期间生成fin
2016-02-14 15:36:32
1960
2
原创 xUtils -- view模块分析
简介xUtils是Android的工具库,其中包含有View、Bitmap、Db、Http四个模块。本篇主要争对xUtils的2.6.14版本和xUtils3版本的View模块做个分析。View模块主要提供功能有View布局的绑定,事件的绑定。而在xUtils2.6.14中还提供资源绑定等功能。使用@ContentView(R.layout.activity_main)public class M
2016-01-31 21:00:01
1005
原创 Python -- 进阶
函数式编程f = absf(-1)把函数作为参数def t(a,b,f) return f(a)+f(b)t(1,2,math.sqrt)map()函数map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。注意:map()函数不改变原有的 list,而是返回一个新的 list。
2016-01-08 16:00:02
895
原创 Python -- 基础
最近还在考试,紧张的4天考了7课,然后就是放了7天假,等待考大物,时间这么多,前几天也没复习,最近才刚开始复习。。好吧,我承认我前几天看了EventBus,了解了这个库的使用和源码。不仅感叹是多么好用,但又不能滥用的库。。。是有点悲催,不过没有上手练习,毕竟看了很多篇文章,例子都能理解,用法确实简单,源码也能理解一二。所以等考试完的项目上再用,哈哈直接上手。本来我很多计划都是打算寒假开始的,EventBus算
2016-01-08 10:05:08
792
原创 排序 -- 思路简析(二)
简介本篇文章总结一下最近学习的排序算法,提炼出其思想及不同之处。有直接插入排序,希尔排序,选择排序直接插入排序(Insert Sort)每次将无序区的第一个记录按关键字插入到有序区的合适位置,并将有序区长度加一// 将a[0..len]进行插入排序,0号单元为哨兵 void InsertSort(int a[],int len){ int i,j; // i标记有序区的最后一个位
2016-01-03 10:45:06
804
原创 Java编程思想 -- 泛型概括总结(一)
在面向对象编程语言中,多态算是一种泛化机制。例如你可以将方法的参数类型设为基类,那么该方法就可以接受从这个类中导出的任何类作为参数。但是,考虑到除了final类不能扩展,这种灵活性大大降低。如果方法的参数是一个接口,而不是一个类,这种限制就放松很多,可是有时候,使用了接口,对程序的约束也还是太强了。因为一旦指明了接口,它就要求你的代码必须使用特定的接口。Java SE5的重大变化之一就
2015-12-27 20:39:43
1076
原创 Java编程思想 -- 内部类
本博客是争对Java编程思想内部类一章所做记录,内部类在Java随处可见,比如集合框架中,Android源码以及开源框架中等等。理清内部类的使用是很有必有,虽然这一章内容之前已经看过几遍,但是还是不如整理来的好。连接到外部类当生成一个内部类的对象时,此对象与制造它的外围对象之间就有了一种联系(秘密连接到创建它的外部类),所以它能访问其外围对象的所有成员,而不需要任何条件使用.this与.new如果你
2015-12-24 02:08:51
791
原创 Java编程思想 -- 接口
抽象类和抽象方法Java提供一种抽象方法的机制,这种方法是不完整的,仅有声明而没有方法体。包含有抽象方法的类叫做抽象类,该类必须被限定为抽象的也可以创建一个没有任何抽象方法的抽象类:如果有一个类我们想要阻止产生这个类的任何对象,那么这样做就很有用抽象类是很有用的重构工具,因为它们可以很容易地将公共方法沿着继承层次结构向上移动接口接口产生一个完全抽象的类,它根本没有提供任何具体实现。接口可以包含域,但
2015-12-23 23:10:17
1070
原创 树 - B树的简单实现
二叉查找树和平衡二叉树都是典型的二叉查找树结构,其查找的时间复杂度与树的高度相关,降低树的高度自然对查找效率有所帮助,B树正是这样的树。定义一棵m阶B树,或为空树,满足以下特性:树中每个结点最多有m棵子树若根结点不是叶子节点,则至少有2个子树除根结点之外的所有非终端结点至少有⌈m/2⌉\lceil m/2 \rceil棵子树每个非终端结点中包含信息(n , A0 , K1 , A1 , K2
2015-12-22 14:58:46
738
原创 Fragment -- 整理篇
本篇文章讲解有关Fragment的内容如下:产生使用 静态用法 动态用法生命周期Fragment的创建方式配置变化Configuration ChangeFragment懒加载Fragment实现Tab的四种模式Fragment的通信
2015-12-05 13:19:13
1041
原创 树 -- 二叉树遍历方法思路大总结(10种方法)
遍历是二叉树的一类重要操作,也是二叉树的其它操作二叉树(Binary Tree)定义:含有n(n>=0)个结点的有限集合。当n=0时为空二叉树, 在非空二叉树中:有且仅有一个根结点;其余节点划分为两互不相交的子集L和R,其中L和R也是一棵二叉树,分别称为左子树和右子树术语(部分) 层次:根为第1层,根的孩子为第2层,依次计数深度(高度):最大层次称为高度度:结点的孩子个数内部结点(分支结点):非叶子结
2015-11-30 00:16:48
1135
原创 排序 -- 思路简析(一)
简介本篇文章总结一下最近学习的排序算法,提炼出其思想及不同之处。有归并排序,快速排序,堆排序以及冒泡排序归并排序(Merging Sort)归并是指将两个或两个以上的有序表组合成一个新的有序表。归并排序是指把无序的的待排序序列分解成若干个有序子序列,并把有序子序列合并为整体有序序列的过程。长度为1的序列是有序的。采用两两分解和归并的策略简单易行,这样的归并排序称为2-路归并排序。归并排序的实
2015-11-26 16:34:12
2193
4
原创 Volley -- 网络请求源码分析
简介本篇文章分析Volley的网络请求的过程,以及获取缓存数据时是如何判断缓存是否过期,是否需要刷新。RequestQueue再分析从之前的文章中知道,每一个请求都添加到RequestQueue中,有其分配管理,那么它是怎么管理的呢?? 查看其成员变量可以发现其有4个集合对象,现在先来看看分别是什么
2015-11-23 22:33:22
737
原创 Volley -- 图片处理方式源码分析
简介本篇文章是关于对Volley的图片加载做相应的分析,分析Volley的ImageRequest、ImageLoader、NetworkImageView类对图片加载的策略,同样,本文是多多少少基于前面两篇文章 Volley – 基本用法 和Volley – 源码分析 的分析,比如说上面提及三个类的用法,从将请求添加到请求获取队列的过程等。ImageRequest这个类中方法不多,主要是关于Bit
2015-11-21 00:42:41
1307
原创 Volley -- 源码分析
简介关于Volley封装性跟实用性是毋庸置疑的,本篇文章是争对上一篇文章 Volley – 基本用法做出比较详细的过程分析,分析Volley请求的流程,缓存的策略,工作线程的执行分配,接口回调的机制,代码的封装等相关进行分析,涉及到Volley的相关类有Request、Response、NetworkDispatcher、CacheDispatcher、Cache、Network等。本篇文章通
2015-11-19 10:05:04
1563
3
原创 Volley -- 基本用法
简介Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大
2015-11-19 00:58:28
1109
1
原创 Android自定义控件之实现类似文件夹顶部的层层显示的横栏效果
目的概述要实现的控件效果如图(本图来自小米3) 如果说大家之前实现过的这种控件的,非常希望能和大家交流学习一下。或者说如果大家知道类似这种效果的开源控件,也非常希望能够告知一下。谢谢!!思路演化先讲一下我一开始的思路 一开始我的想法是定义一个LinearLayout,不断在里面添加TextView的控件,在onlayout()方法中进行TextView的布局,并滑动到最尾端滑动的话,然后
2015-11-17 18:03:21
1679
原创 位运算的运用
如果一个数组中的数组成对出现,怎么快速查找一个数组中唯一出现一次或出现奇数次的数字思路:通过位运算的异或的性质 相同两个数异或为0与0异或的数结果不变异或满足乘法交换律int search(int a[],int len){ int num = 0; for(int i = 0; i < len; i++){ num ^= a[i];// 通过不断的异或操作
2015-11-17 15:51:38
721
原创 新的起点 -- 开始奔跑 -- 开博篇
本人现在大二,正在学习Android开发,资质较浅,所以现在也是在努力的running,从大一第二学期开始学习的Android,到现在也有5个月,朦朦胧胧的学习,自己也有点操之过急,师兄们也经常告诫我说慢慢来,基础打好,虽然记在心里,但是抛之脑后,说实话是自己沉淀不下来,在这里引用下某师兄的一句话:技术是需要沉淀的。深有感触,特别是在看Android框架的时遇到不理解之处产生的一点点小烦恼。昨晚同几
2015-11-16 11:22:05
726
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人