Android积累
文章平均质量分 91
fishle123
这个作者很懒,什么都没留下…
展开
-
Android截图的两种方法
转载请注明出处:有时候我们需要保存某个Activity的截图,下面介绍两种方法。1)使用view的getDrawingCache来获取当前Activity的截图private static String TAG = "--->";private static final String SCREEN_SHOT_DIR = "TestScreenShot";private static原创 2016-03-03 18:53:49 · 2556 阅读 · 0 评论 -
Android Touch 事件传递机制
在 Android UI 开发中,经常涉及touch(触摸)事件和手势。最经常使用的点击事件(OnClickListener)也与 touch 事件相关。因此,理解 touch 事件在 View 层级中的传递机制尤为重要。然而,dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent等一系列接口方法很容易让人混淆。本文将介绍 touch 事件的原创 2016-02-05 18:07:50 · 1264 阅读 · 0 评论 -
LayoutInflater源码分析
在Android里面,经常使用LayoutInflater来加载布局。这里结合源码分析一下LayoutInflater是如何加载布局的。LayoutInflater一个常见的用法如下:private View inflateView(Context context, int resID) { LayoutInflater inflater = LayoutInflater.from原创 2016-04-01 20:16:38 · 1161 阅读 · 1 评论 -
Android如何捕获应用的crash信息
我们的应用不可避免的会发生crash,如果是在调试阶段,我们可以使用Logcat查看异常信息。但是如果应用发布之后呢?如果在用户那边crash了,如果我们可以捕获这些crash信息,那么对我们定位crash原因并修复问题是很有帮助的。应用crash即可能是Java层的异常导致的,也可能是native层导致,下面分别来看一下该如何处理。1 Java层的未捕获异常处理先来看一下Java层的cr原创 2016-03-07 23:41:42 · 3250 阅读 · 0 评论 -
Android消息机制分析
Android应用程序是消息驱动的,Android应用程序的消息机制是围绕消息队列来实现的,具体的,主要通过Handler、MessageQueue、Looper三个类来实现。其中Handler用来发送和处理消息;MessageQueue表示一个消息队列,负责入队和出队消息;Looper类用于创建消息循环。本文结合源码来介绍Android的消息机制包括:消息循环的创建、消息的发送和处理。原创 2015-08-22 21:54:12 · 1039 阅读 · 1 评论 -
Android动画框架(三)----布局动画&Activity过渡动画
这里把布局动画和Activity切换动画都归类为特殊场景的动画使用,因此放在一起来介绍它们的使用技巧。所谓布局动画即在ViewGroup布局发生改变(如addView,removeView...)时提供的一个过渡动画。根据布局动画效果的不同,布局动画即可以是属性动画,也可以是视图动画,两种类型的动画有各自的不同应用场景。Activity过渡动画是指Activity在打开或者退出时的过渡动画。1原创 2016-02-28 14:31:29 · 3542 阅读 · 0 评论 -
Android动画框架(二)----属性动画
Android提供三种形式动画:视图动画,帧动画,属性动画。其中属性动画的功能最强大,在Android 3.0中开始引入。本文介绍属性动画。属性动画可以针对Object的任何一个属性实施动画,并且Object的属性值会随着动画改变,这一点与视图动画不同。属性动画功能非常强大,几乎可以实现任何动画效果。本文首先介绍属性动画的工作原理,然后全面的介绍了属性动画的使用技巧,为了更好的使用属性动画,还详细原创 2016-02-20 20:20:40 · 5621 阅读 · 0 评论 -
Android动画框架(一)----视图动画&帧动画
Android提供三种形式动画:视图动画,帧动画,属性动画。其中属性动画的功能最强大,在Android 3.0中开始引入。本文介绍视图动画和帧动画的使用技巧。1 视图动画(View Animation)Android的视图动画可以完成一系列的补间动画(Tween Animation),如平移,缩放,旋转,透明度变化等。视图动画是针对View的内容(content),因此,当View发生视图原创 2016-02-15 14:33:40 · 2655 阅读 · 0 评论 -
setContentView源码分析
转载请注明出处:在Activity中,常常第一件事就是在onCreate里面调用setContentView来设置布局。大家都知道setContentView用来设置Activity的布局,但是有没有研究过setContentView究竟做了哪些事呢?本文就一起看看setContentView是如何加载我们的布局的。看完之后大家就会知道为什么使用requestWindowFeature设置窗口原创 2016-03-06 10:41:35 · 1280 阅读 · 1 评论 -
HTTP协议详解----HTTP消息
本文主要介绍HTTP消息,包括HTTP请求/响应格式,以及HTTP消息头。HTTP:超文本传输协议(Hypertext Transfer Protocol) HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,其中最著原创 2015-10-04 13:16:25 · 1101 阅读 · 0 评论 -
深入理解ThreadLocal
在Android里面,在不同的线程(假设子线程已经创建了Looper)中创建Handler的时候,并不需要显式指定Looper,系统能自动找到改线程自己的Looper。不同线程的Looper相互独立,之所以能做到这一点,就是借助ThreadLocal来实现的。本文介绍了ThreadLocal的使用,及其实现原理。最后还介绍了InheritThreadLocal的使用。原创 2015-08-29 15:29:47 · 1290 阅读 · 0 评论 -
使用TouchDelegate增大控件的触摸范围
转载请注明出处:在很多Android应用有时候为了美观,有时候可能受限于屏幕大小,有些控件不能显示太大。但是控件太小,又不方便用户点击,影响体验。有没有办法可以在不调整控件大小的情况增大控件接收触摸事件的范围呢?使用TouchDelegate就可以解决这个问题了。TouchDelegate的使用非常简单,假如我想增大一个Button的触摸范围,下面几行代码即可轻松实现:mBtnHell原创 2016-03-05 17:52:28 · 1308 阅读 · 0 评论 -
JobService的使用及源码分析
Google在Android 5.0中引入JobScheduler来执行一些需要满足特定条件但不紧急的后台任务,APP利用JobScheduler来执行这些特殊的后台任务时来减少电量的消耗。本文首先介绍JobSerice的使用方法,然后分析JobService的源码实现。JobService的使用使用JobScheduler的时候需要把待执行的后台任务封装到JobService中提交。下面原创 2016-03-03 19:11:00 · 12775 阅读 · 3 评论 -
AsyncTask源码分析
转载请注明出处:http://blog.csdn.net/fishle123/article/details/50188729在Android开发中,AsyncTask经常用来执行一些耗时任务,并且在任务完成可以更新UI。本文通过对AsyncTask源码的分析来分析其实现机制,先简单介绍了AsyncTask的基本用法,然后结束AsyncTask怎样与主线程交互,最后深入分析AsyncTask的...原创 2015-12-05 19:57:54 · 866 阅读 · 0 评论 -
Android StateListDrawable与透明度Alpha相关的一个bug
最近在做需求的时候,需要用StateListDrawable来实现ImageView的不同点击状态:点击状态和其他状态。在点击状态下,只需要调整一下ImageView的透明度就好了。需求很简单,很快做完了,自测也没问题。生成StateListDrawable的核心代码如下:private StateListDrawable getImageViewStateListDrawable(Drawa原创 2016-11-05 17:44:05 · 1668 阅读 · 0 评论