android开发
文章平均质量分 73
w4lle
这个作者很懒,什么都没留下…
展开
-
LRUCache原理及HashMap LinkedHashMap内部实现原理
LRUCache HashMap LinkedHashMap内部实现原理原创 2015-11-27 17:11:18 · 3460 阅读 · 1 评论 -
Android线程间通信——Looper Handler
首先先搞清楚Looper handler messageQuee之间的关系原创 2014-10-28 10:45:13 · 825 阅读 · 0 评论 -
Android Cursor 源码分析
1. 本文目的Android ContentProvider提供了进程间数据交换的一种机制。而数据库的查询就是这种机制的应用。那么app通过Uri查询数据库而得到的Cursor究竟是个什么东西?为何可以为我们提供另一个进程的数据?本文以getContentResolver().query(……)函数为起点,全面分析Cursor家族关系类图,理清Cursor跨进程通信的机制。1.原创 2014-10-24 18:44:52 · 1827 阅读 · 0 评论 -
Andorid属性动画实现activity的切换效果
系统自带的activity切换效果不尽如人意,需要我们子原创 2014-09-16 13:52:32 · 1458 阅读 · 0 评论 -
Android动画学习笔记-Android Animation
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 可通过NineOldAndroids项目在3.0之前的系统中使用P转载 2014-09-03 16:49:09 · 550 阅读 · 0 评论 -
宽度全屏SeekBar实现
我们都知道android的seekbar左右两边都是有留一些空间。原创 2014-08-19 14:17:05 · 4086 阅读 · 0 评论 -
Android Filter类--线程间的通信
Filter与AsyncQueryHander实现基本类似,它包含两个Hander:RequestHandler和 ResultHandler,以及一个HandlerThread:名为Filter的线程。RequestHandler与Filter线程绑定,过滤请求都是通过 RequestHandler发送给Filter线程。当过滤产生后,通过mResultHandler将数据push给UI显示。原创 2014-08-15 10:58:17 · 1116 阅读 · 0 评论 -
Android搜索过滤
一、简介一般来说,我们可以使用以下几种方式实现搜索:1)暴力搜索——直接使用数据库提供的功能,每次都从数据库中读取搜索的结果,存进一个数据结构用于Adapter显示,调用notifyDataSetChanged()刷新数据;2)利用filter进行搜索。这块涉及到Filterable接口。推荐文章:Android实现Filterable通过输入文本框实现联系人自动筛选。有两原创 2014-08-15 10:03:36 · 1180 阅读 · 0 评论 -
ROM 添加自定义framework实现原理
项目中编译出来的framework 可以用在单独apk编译中使用。是apk可以原创 2014-08-21 19:50:45 · 1297 阅读 · 0 评论 -
浅析Android中如何利用attrs和styles定义控件
一直有个问题就是,Android中是如何通过布局文件,就能实现控件效果的不同呢?比如在布局文件中,我设置了一个TextView,给它设置了textColor,它就能够改变这个TextView的文本的颜色。这是如何做到的呢?我们分3个部分来看这个问题1.attrs.xml 2.styles.xml 3.看组件的源码。1.attrs.xml: 我们知道Android的源码中有att转载 2014-08-18 16:34:17 · 770 阅读 · 0 评论 -
Android ProgressBar 样式实现原理
做过Android开发的同学应该都不会对这个控件陌生。主要是用来实现处理或加载进度的显示或者提示用户正在处理或加载数据。基本来说就两种情况,一种是转圈的小菊花,一种是水平的进度条。默认情况下ProgressBar是圆形的那种,如果你要设置成水平状的,需要加入styleJava代码 style="?android:attr/progressBarStyl转载 2014-08-18 16:26:13 · 2263 阅读 · 0 评论 -
ViewPager延时加载(懒加载)
使用viewpager默认会加载至少一个view,项目中有的页面中的大图比较多原创 2014-05-29 14:29:07 · 2174 阅读 · 0 评论 -
为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange转载 2014-05-28 14:19:46 · 638 阅读 · 0 评论 -
intellij idea 添加动态 user library(java.lang.VerifyError)
ScopeUse this drop-down to affect the classpath for the various build phases.Compile: This is the default option. If it is selected, the dependency is resolved and is available in classpath duri原创 2014-06-10 11:28:27 · 7976 阅读 · 0 评论 -
ListView 覆盖图片一部分,下拉显示全部。类似百度音乐专辑界面
界面布局使用FrameLayout,IMageView在最下面原创 2014-05-26 14:20:41 · 1346 阅读 · 0 评论 -
Andorid Volley框架加载图片OOM问题分析
Android volley 引起的context 上下文 内存泄露,导致的OOM问题分析解决原创 2015-01-06 14:53:57 · 3550 阅读 · 3 评论 -
Android View getX getLeft getTranslationX layoutparams.leftMargin的值
Android View getX getLeft getTranslationX layoutparams.leftMargin的值原创 2015-01-09 00:04:54 · 3093 阅读 · 0 评论 -
Android高仿微信微博多图展示
Android高仿微信微博九宫格多图展示原创 2015-07-13 10:55:30 · 2668 阅读 · 0 评论 -
Android内存泄露抓取工具leakcanary
使用LeakCanary工具自动监测并抓取Android内存泄露原创 2015-05-19 21:02:21 · 5544 阅读 · 2 评论 -
Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效
Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效原创 2015-05-04 21:30:30 · 4399 阅读 · 4 评论 -
Android应用性能优化之使用SparseArray替代HashMap
Android SparseArray代替HashMap提升性能原创 2015-05-03 23:26:49 · 4048 阅读 · 0 评论 -
使用lint工具优化Android代码
Android lint 工具优化代码,给apk瘦身原创 2015-05-11 21:22:46 · 4894 阅读 · 0 评论 -
Android 弹簧动画效果
一、概述Rebound 通过胡克定律,实现的一个类似“弹簧”动画效果的第三方工具包,由FaceBook退出,于2013年10月正式发布,旨在解决笨重、缓慢的传统移动网络界面。先上几张效果图: 特点:Rebound 可以使你的动画看起来像真实自然,像真实世界物理运动Rebound 不是一个物理引擎库,但是R原创 2015-04-26 22:43:33 · 6466 阅读 · 2 评论 -
Android自定义属性详解
1、引言对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:自定义一个CustomView(extends View )类编写values/attrs.xml,在其中编写styleable和item等标签元素在布局文件中CustomView使用自定义的属性(注意namespace)在CustomView的构造方法中通过TypedArray获取ps:如果你对上述几个步原创 2015-04-19 22:43:00 · 622 阅读 · 0 评论 -
Android RecyclerView 的点击事件
一、概述随着Android L版本的发布,RecyclerView已经逐渐地取代了ListView,用来显示较多的数据集,RecyclerView相比ListView在性能上有了大幅度的提升,可以说RecyclerView是ListView的升级版本。原创 2015-04-10 22:52:54 · 7410 阅读 · 1 评论 -
Android 横向带有吸附效果的横向拖动控件(效果同纵向下拉刷新ListView)
先上一张效果图中间的progressBar就是我们要做的效果。一、实现思路仔细观察不难发现,该拖动view与listview的下拉刷新的效果很类似,手指拖动的时候显示隐藏的view,手指放开自动回弹。只不过区别就是一个横向一个纵向下拉刷新的实现思路如下:自定义一个布局继承自LinearLayout,然后在这个布局中加入下拉头和ListView这两个子元素,并让这原创 2015-03-29 21:35:06 · 3618 阅读 · 0 评论 -
Mac Android Genymotion unable create virtual device
Mac 安装Genymotion 需要安装VirtualBox ,全部安装完后创建genymotion device点击ADD后不能显示device列表,测试可能是由于VirtualBox的网络设置原因导致genymotion不能连接网络。VirtualBox网络配置如下打开VirtualBox 偏好设置--> 网络--> Host Only --> 新建一个网络配置:原创 2015-01-02 14:11:52 · 5072 阅读 · 3 评论 -
Android bitmap Config
在开发中遇到了一个问题,bitmap的底色为黑色,百思不得其解,后来想到是不是因为生成bitmap时有个Config参数导致的。代码中写的是Bitmap.Config.RGB_565。后来改成Bitmap.Config.RGB_8888 后背景色变为透明确实是因为Config造成的,之前一直都知道这个参数会导致bitmap的精细程度,也就是说数值越大加载到内存中德bitmap就越大同时原创 2015-01-03 17:50:00 · 1239 阅读 · 0 评论 -
Android简便通用的SimpleBaseAdapter
在Android开发中经常用到ListView、GridView等列表,于是Adapter也就比较常用的了, 而实际项目中稍微复杂点的基本都会用到BaseAdapter, 大家都知道继承自BaseAdapter必须要重写getCount(), getItem(), getItemId(), getView()这几个方法, 而且可能为了优化列表的加载还还会经常采用ViewHoder模式, 试想列表多转载 2014-12-25 14:49:18 · 697 阅读 · 0 评论 -
Android高效加载图片,有效避免程序OOM
我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可以通过下面的代码看转载 2014-12-25 14:18:54 · 641 阅读 · 0 评论 -
Android自定义Viewgroup切换View带有吸附效果
Android自定义Viewgroup切换View带有吸附效果,防止OOM原创 2015-01-13 22:46:19 · 2201 阅读 · 0 评论 -
Android Volley框架支持https请求
Android Volley框架支持https请求原创 2015-01-09 13:42:03 · 6734 阅读 · 1 评论 -
ViewPager异步添加数据异常 The application's PagerAdapter changed the adapter's contents without calling Pag
项目中用到ViewPager左右滑动图片,图片从网上获取,异步添加到ViewPager的Adapter中。出现强股原创 2014-06-26 14:55:24 · 26803 阅读 · 4 评论 -
Activities and Tasks --Dev Guide
就像前面提到的,一个activity可以启动另一个,包括那些定义在不同应用程序中的。假设,例如,你想让用户显示一些地方的街道地图。已经有一个activity可以做这个事,所以你的activity所要做的就是将行为对象和需要的信息放在一起,并将它们传递给startActivity()。 地图查看器将显示这个地图。当用户按下后退按钮时,你的activity又重新显示在屏幕上了。 对用户来原创 2014-06-05 10:24:23 · 967 阅读 · 0 评论 -
ListView addHeaderView 报错的解决办法
在添加listview的 addheader方法时报错如下:原创 2014-05-21 17:12:34 · 2669 阅读 · 0 评论 -
Android深入浅出之Audio 第一部分 AudioTrack分析
一 目的本文的目的是通过从Audio系统来分析Android的代码,包括Android自定义的那套机制和一些常见类的使用,比如Thread,MemoryBase等。分析的流程是:l 先从API层对应的某个类开始,用户层先要有一个简单的使用流程。l 根据这个流程,一步步进入到JNI,服务层。在此过程中,碰到不熟悉或者第一次见到的类或者方法,都会解释。也转载 2013-09-02 17:13:21 · 774 阅读 · 0 评论 -
Android深入浅出之Binder机制
Android深入浅出之Binder机制预备知识请参考http://blog.csdn.net/ruanniu/article/details/8617842一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以Me转载 2013-09-03 11:13:08 · 598 阅读 · 0 评论 -
Android Audio音频系统之音频框架
1.1 音频框架转载请注明,From LXS, http://blog.csdn.net/uiop78uiop78/article/details/8796492Android的音频系统在很长一段时间内都是外界诟病的焦点。的确,早期的Android系统在音频处理上相比于IOS有一定的差距,这也是很多专业的音乐播放软件开发商没有推出Android平台产品的一个重要原因。但这并不代转载 2013-09-02 17:08:08 · 1783 阅读 · 1 评论 -
获取android手机已连接过wifi密码
adb shellcat /data/misc/wifi/wpa_supplicant.confctrl_interface=DIR=/data/misc/wifi/wpa_supplicant GROUP=wifiupdate_config=1network={ssid="*********"// APnamepsk="************" //pa原创 2013-08-26 16:32:00 · 3940 阅读 · 0 评论 -
用meld 代替svn diff默认比较工具。
gedit ~/.subversion/config 修改# diff-cmd = meldsvn diff --diff-cmd meld **原创 2013-08-21 15:00:38 · 1386 阅读 · 0 评论