- 博客(44)
- 资源 (21)
- 收藏
- 关注
转载 Android drawable微技巧,你所不知道的drawable的那些细节
好像有挺久时间没更新博客了,最近我为了准备下一个系列的博客,也是花了很长的时间研读源码。很遗憾的是,下一个系列的博客我可能还要再过一段时间才能写出来,那么为了不至于让大家等太久,今天就给大家更新一篇单篇的文章,讲一讲Android drawable方面的微技巧。话说微技巧这个词也是我自己发明的,因为drawable这个东西相信大家天天都在使用,每个人都再熟悉不过了,之所以叫微技巧就是对
2016-04-28 21:18:31 600
原创 java Scanner nextLine next 连用的区别
在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。当next()和nextLine()连用时,nextLine()会自动接收next()函数的结束符,所以为了避免数据接收有误,要避免二个函数连用。next 方法的使用规则:当 n
2016-04-28 21:15:34 803
转载 Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
本篇文章主要是带大家从源码的角度上面去解读这个强大的图片加载框架,自己很久没有写文章了,感觉生疏了许多,距离上一篇文章三个月多了,确实是自己平常忙,换了工作很多东西都要去看去理解,然后加上自己也懒了,没有以前那么有激情了,我感觉这节奏不对,我要继续保持以前的激情,正所谓好记性不如烂笔头,有时候自己也会去翻看下之前写的东西,我觉得知识写下来比在脑海中留存的更久,今天就给大家来读一读这个框架的源码,我
2016-04-26 22:04:39 256
转载 Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
本篇文章继续为大家介绍Universal-Image-Loader这个开源的图片加载框架,介绍的是图片缓存策略方面的,如果大家对这个开源框架的使用还不了解,大家可以看看我之前写的一篇文章Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用,我们一般去加载大量的图片的时候,都会做缓存策略,缓存又分为内存缓存和硬盘缓存,我之前也写了几篇异步加载大
2016-04-26 21:58:18 302
转载 Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
大家好!差不多两个来月没有写文章了,前段时间也是在忙换工作的事,准备笔试面试什么的事情,现在新工作找好了,新工作自己也比较满意,唯一遗憾的就是自己要去一个新的城市,新的环境新的开始,希望自己能尽快的适应新环境,现在在准备交接的事情,自己也有一些时间了,所以就继续给大家分享Android方面的东西。相信大家平时做Android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加
2016-04-26 21:46:22 364
转载 深入Java集合学习系列:LinkedList的实现原理
1. LinkedList概述: List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。此类实现 Deque 接口,为 add、poll 提供先进先出
2016-04-26 17:40:34 315
转载 Android BINDER设计与实现 - 设计篇
关键词Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Bin
2016-04-26 11:19:38 507
原创 java中字符串在 utf-8 gbk unicode 编码下占内存位数
GBK编码,一个汉字占两个字节,英文字母占两个字节。UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节,英文字母占两个字节。UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16),英文字母占两
2016-04-24 21:45:01 3296 2
原创 java 获取程序执行时间
第一种是以毫秒为单位计算的。 long startTime=System.currentTimeMillis(); //获取开始时间 doSomeThing(); //测试的代码段 long endTime=System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms
2016-04-24 21:37:13 562
转载 Android访问网络,使用HttpURLConnection还是HttpClient?
最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到了一位Google的工程师写的一篇博客,文中对HttpURLConnection和HttpClient进行了对比,下面我就给大家简要地翻
2016-04-24 14:54:51 393
转载 动态规划常见题目汇总
动态规划(Dynamic Programming,简称DP),虽然抽象后进行求解的思路并不复杂,但具体的形式千差万别,找出问题的子结构以及通过子结构重新构造最优解的过程很难统一,并不像回溯法具有解决绝大多数问题的银弹(全面解析回溯法:算法框架与问题求解)。为了解决动态规划问题,只能靠多练习、多思考了。本文主要是对一些常见的动态规划题目的收集,希望能有所帮助。难度评级受个人主观影响较大,仅供参考。
2016-04-24 09:41:06 736
转载 Android Volley完全解析(四),带你从源码的角度理解Volley
经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。多数朋友突然看到一张这样的图,应
2016-04-23 11:45:05 411
转载 Android Volley完全解析(二),使用Volley加载网络图片
在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知
2016-04-23 11:13:47 390
转载 Android Volley完全解析(三),定制自己的Request
经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的一张图片
2016-04-23 11:12:18 472
转载 Android Volley完全解析(一),初识Volley的基本用法
1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和Http
2016-04-23 09:47:59 417
转载 Android 中的 Service 全面总结
1、Service的种类 按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。 主
2016-04-22 10:36:31 256
转载 Android中微信抢红包插件原理解析和开发实现
一、前言自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来。但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导致了。或许是网络的原因,而且这个也是最大的原因。但是其他的不可忽略的因素也是要考虑到进去的,比如在手机充电锁屏的时候,我们并不知道有人已经开始发红包了,那么这时候也是让我们丧失了一大批红包的原因
2016-04-22 09:49:08 880
原创 Java中split的用法
简介Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组。下面是string.split的用法实例及注意事项:java.lang.string.split split方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。stringObj.split([separator,[limit]]) stringObj 必
2016-04-20 16:33:33 2955
转载 关于 Android 进程保活,你所需要知道的一切
早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?。关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。怀着
2016-04-19 10:39:01 2285
原创 动态规划--最小路径和(Minimum Path Sum)
原题 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path. Note: You can only move either down or
2016-04-18 14:52:57 894
转载 跳跃表(Skip List)-实现(Java)
跳跃表是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间),并且对并发算法友好。关于跳跃表的具体介绍可以参考MIT的公开课:跳跃表跳跃表的应用Skip list(跳表)是一种可以代替平衡树的数据结构,默认是按照Key值升序的。Skip list让已排序的数据分布在多层链表中,以0-1随机数决定一个数据的向上攀升与否,通
2016-04-18 10:58:00 457
转载 skiplist 跳表详解及其编程实现
skiplist介绍跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,请参考参考维基百科 点我,中文版。跳表是由William Pugh发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是链表的一种,只不过它在链表的基础上增加了跳跃功能,正是这个跳跃的功能,使得在查找元素时,跳表能够提
2016-04-18 10:38:59 486
转载 优先级队列:PriorityQueue
PriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于优先级堆的极大优先级队列。优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列(参阅Comparable
2016-04-15 15:41:14 477
转载 Ping过程 原理 详解(图)
如果你想了解PING的原理,就看我的文章,不要去网上找,找不到什么好的内容。看了我文章,也许你会从对网络一窍不通,到豁然开朗。先看拓朴图:我在这里讲拼的两情况,一种是同一网段内,一种是跨网段的ping ….首先,如果主机A,要去拼主机B,那么主机A,就要封装二层报文,他会先查自己的MAC地址表,如果没有B的MAC地址,就会向外发送一个ARP广播包,如
2016-04-15 10:57:37 25845 8
转载 基于比较的内部排序总结
★ 基于“比较”操作的内部排序性能大PK 我们首先总结一下《排序结构专题1-4》中的十种方法的性能((N个关键字的待排序列)):排序方法 平均时间 最坏时间 辅助存储空间 稳定性 直接插入排序O(N^2) O(N^2) O(1) √
2016-04-15 10:52:08 588
转载 桶排序
《基于比较的排序结构总结 》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数的“比较”操作。桶排序就是这样的原理。 桶排序的基本思想 假设有一组长度为N的待排关键字序列K[1...
2016-04-15 10:20:40 311
转载 10G整数文件中寻找中位数
题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。 分析: 既然要找中位数,很简单就是排序的想法。那么基于字节的桶排序是一个可行的方法 (请见《桶排序》):思想:将整形的每1byte作为一个关键字,也就是说一个整形可以
2016-04-15 10:00:44 1150
转载 Big Endian 和 Little Endian
Big Endian 和 Little EndianPeter Lee 2008-04-20 一、字节序来自:http://ayazh.gjjblog.com/archives/1058846/谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而
2016-04-15 09:37:05 261
原创 位图排序
位图法就是bitmap的缩写,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。位图法定义编辑例如,要判断一千万个人的状态,每个人只有两种状态:男人,女人,可以用0,1表示。那么就可以开一个int数组,一个int有32个位,就可以表示32个人。操作的时候可以使用位操作。位图法应用
2016-04-14 22:27:55 485
原创 与位运算相关的编程题
1.求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){ int countx = 0; while(x) { countx++; x = x&(x-1); } return countx;}
2016-04-09 16:21:51 571
转载 Android实现图片滚动控件,含页签功能,让你的应用像淘宝一样炫起来
如果你是网购达人,你的手机上一定少不了淘宝客户端。关注特效的人一定都会发现,淘宝不管是网站还是手机客户端,主页上都会有一个图片滚动播放器,上面展示一些它推荐的商品。这个几乎可以用淘宝来冠名的功能,看起来还是挺炫的,我们今天就来实现一下。实现原理其实还是之前那篇文章Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现 ,算是以那个原理为基础的另外一个变种。
2016-04-07 22:31:09 1775
转载 Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效
之前我向大家介绍了史上最简单的滑动菜单的实现方式,相信大家都还记得。如果忘记了其中的实现原理或者还没看过的朋友,请先去看一遍之前的文章 Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现 ,因为我们今天要实现的滑动菜单框架也是基于同样的原理的。之前的文章中在最后也提到了,如果是你的应用程序中有很多个Activity都需要加入滑动菜单的功能,那么每个Act
2016-04-07 19:36:51 1248
原创 Android Studio如何自动 import
Eclipse自动添加import语句, 使用Ctrl + Shift + o组合, 可以自动查找java的import语句进行添加;Android默认是Alt+Enter单个添加import语句, 可以修改IDE, 使其自动添加, 所使用的java库;位置: Files ->Settings-> IDE Settings-> Editor -> Auto Import
2016-04-07 11:36:45 5568
转载 Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现
人人客户端有一个特效还是挺吸引人的,在主界面手指向右滑动,就可以将菜单展示出来,而主界面会被隐藏大部分,但是仍有左侧的一小部分同菜单一起展示。据说人人客户端的这个特效是从facebook客户端模仿来的,至于facebook是不是又从其它地方模仿来的就不得而知了。好,今天我们就一起来实现这个效果,总之我第一次看到这个特效是在人人客户端看到的,我也就主观性地认为我是在模仿人人客户端
2016-04-07 10:44:49 856
转载 Android 获取取手机中微信聊天记录
关于如何在 Android 手机上窃取微信聊天记录。这几天事情比较多,可还是想尽快写下这篇文章。本以为微信的聊天记录以我本人现存能力获取不到,但经过一番尝试,还是成功了。前提:手机需要已经 root。在我的直觉里,微信的聊天记录一定会是加密的,而且是用了现代密码学中的加密算法,只要官方保存好密钥那么我等平民不可能获取得到。而接下来,我想说的是我等平民如何能够获取到微信的
2016-04-06 11:15:35 25890 4
转载 Eclipse missing C/C++ build and general from project properties
Q: I have eclipse running and am trying to get opencv4android on it (http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html)Instructions say to go to project -> prop
2016-04-02 15:04:24 1906
转载 Android 新版NDK环境搭建(免Cygwin)
使用最新ndk,直接抛弃cygwin,以前做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量,特别麻烦,新版就不需要了。 (软件下载百度云链接:http://pan.baidu.com/s/1nt9g7zz 密码:50m4)setp1:将下载下来的“android
2016-04-02 15:01:24 502
转载 Android之NDK开发
一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C
2016-04-01 21:41:54 314
转载 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用ImageView?等等……对于这些
2016-04-01 11:25:34 330
转载 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用ImageView?等等……对于这些
2016-04-01 11:21:13 253
JPEG Resizer 2.1 绿色 免安装 汉化修正版
2016-05-18
java 拍卖系统 图形界面
2012-03-09
基数排序 数据结构 c语言
2011-07-02
会议记录管理系统 C++课程设计
2011-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人