读书笔记
JohanMan
这个作者很懒,什么都没留下…
展开
-
Android开发艺术探索笔记(1)- Activity的生命周期
读书前言Android艺术探索是我找的一本Android进阶的书。学了2年多的Android,自以为Android基础不错,没想到简单阅览了这本书之后,发现自己真的是井底之蛙,用作者的话来说,只见树木,不知森林。所以,这本书值得我去整理,消化,并占为自用。OK,接下来是我自己对这本书的读书笔记,有什么总结错的地方,还请指出,谢谢!!读书笔记在了解Activity的生命周期之前,我要先说一下Activ原创 2016-11-29 11:04:37 · 358 阅读 · 0 评论 -
Android开发艺术探索笔记(14)- MeasureSpec
MeasureSpec是自定义View是重写View的onMeasure的一个参数,利用这个参数我们可以准确测量View的宽高。MeasureSpec有一个很有意思的思想,其实MeasureSpec类中有两个属性,但是Android并不像我们平常一样private int mode;private int size;而是采取一种合并的方式,将mode和size合并为一个32位的int值。高2位代表原创 2016-12-06 12:18:17 · 390 阅读 · 0 评论 -
Android开发艺术探索笔记(13)- DecorView
作者在Veiw的工作原理这章简单地说了我们在自定义View中必须知道的三个方法:(1)measure:主要用于测量View的宽高(2)layout:主要用于确定View的位置(3)draw:主要用于画View而在这小节,令我在意的是我不知道的东西:DecoreView(虽然之前说过)上面的图,就是Activity的完整界面图,书中说了,titlebar就是Activity的主题,我们在Activit原创 2016-12-06 11:13:41 · 491 阅读 · 0 评论 -
Android开发艺术探索笔记(12)- View的滑动冲突
这个问题的确我也遇到过,copy别人自定义View的demo,发现导入eclipse或者android stdio不能正常工作,然后根据网上一些解决经验,并不在意原来这都一种套路来的,都是遇到问题,一上来就百度,解决了就不了了之,下次遇到了,再百度,并不了解其原理。书中作者提供了通用的解决办法和解决的思路,受益匪浅!!View的滑动冲突有3种场景:(1)父容器和子View滑动方式不相同的冲突。如类似原创 2016-12-04 13:12:14 · 494 阅读 · 0 评论 -
Android开发艺术探索笔记(10)- View的弹性滑动
如果指定View的滑动距离很长,通过scrollTo/scrollBy进行滑动,可以瞬间移动到指定的位置。注意啦!!这里的滑动并不是改变View的位置哦,而是改变View内容的位置。这种直接利用scrollTo的方式虽然能达到效果,但是用户体验不好,所以多数情况都要弹性的滑动。作者给出3种实现弹性滑动的方式:利用Scroller进行View的滑动利用动画进行View的滑动利用延时做View的滑原创 2016-11-29 21:59:24 · 424 阅读 · 0 评论 -
Android开发艺术探索笔记(11)- View的事件分发
View事件的分发使得我给定义的事件能正确响应,核心原理竟然只有短短几行伪代码,Are you kidding me??不信??直接上码public boolean dispatchTouchEvent(MotionEvent event) { boolean consume = false; if (onInterceptTouchEvent(event)) {原创 2016-12-03 22:00:00 · 338 阅读 · 0 评论 -
Android开发艺术探索笔记(9)- View的滑动
作者介绍了3种View的滑动方式,都是我们常见的,这里详细了解一下原理和需要我们注意的地方。通过View提供的方法scrollTo/scrollBy滑动View的scrollTo方法其实改变的是View的内容位置,并不能真正的改变View的位置。什么意思呢?举个栗子,我定义了一个LinearLayout,在LinearLayout里面定义了一个ListView,由于ListView内容很长,要看到被原创 2016-12-02 13:57:52 · 480 阅读 · 0 评论 -
Android开发艺术探索笔记(8)- View的基础
什么是View我们都知道,TextView是View,Button也是View,但View不仅仅是一个视图,显示给用户看,还可以与用户交互。LinearLayout是一个ViewGroup,而ViewGroup是View的一个子类,所以也是一个View。ViewGroup和它所包含的一个View组成一个View树结构,这对接下来说到View事件的传递很重要。先有个概念。View位置参数要确定给一个V原创 2016-12-02 10:46:00 · 390 阅读 · 0 评论 -
Android开发艺术探索笔记(7)- IPC方式
之前说的多进程模式和Binder都是为了这节做的铺垫(这个铺垫好长呀~~)。那么Android的IPC方式有多少种呢? (1)Bundle (2)文件同享 (3)Messenger (4)AIDL (5)ContentProvider (6)SocketBundle好吧,这个也算是一种IPC??Bundle的确是实现了Parcelable接口,但是也只是一种数据集合类型,如形同Map。我原创 2016-12-01 16:57:44 · 401 阅读 · 0 评论 -
Android开发艺术探索笔记(6)- Binder
进程间通信(IPC)有很多种方法,而Binder是其中一种。也可以说,Binder是在Android系统挂载的虚拟设备,设备的驱动为/dev/binder,在Linux上没有。Binder是客户端和服务端进行通信的媒介,通过Binder,客户端可以向服务端获取服务或者数据。这里将的服务有两种,一种是普通的服务,另一种是AIDL(Android Interface Define Language,An原创 2016-12-01 14:00:19 · 397 阅读 · 0 评论 -
Android开发艺术探索笔记(3)- 进程和线程
面试的时候也会经常被问到进程与线程的区别,我觉得书中说的有点笼统,所以自己有百度了一下,结合书中所讲总结一下。进程 进程是系统进行资源分配和调度的一个独立执行单位,每个进程都有一个单独的地址空间。简单来说,程序不能单独运行,必须加载到内存,然后系统为其分配资源才能够执行,这么的一个执行程序就是一个进程。意思和作者说的差不多,只是这里详细说了进程的定义。线程 线程是CPU调度的基本单位,是进程的一原创 2016-12-01 10:24:38 · 279 阅读 · 0 评论 -
Android开发艺术探索笔记(4)- 多进程模式
在理解IPC(Inner-Process Communication,进程间通信)机制之前,我们要先知道Android多进程模式。我们知道每个程序都是一个进程(上一节我们说过的呀),但是怎么在一个Android程序开启多进程模式呢?书中说了,只有一个办法,就是给四大组件(Activity,Service,Receiver,ContentProvider)在AndroidMenifest文件定义的时候原创 2016-12-01 11:17:05 · 391 阅读 · 0 评论 -
Android开发艺术探索笔记(5)- Serializable和Parcelable
因为IPC机制中使用到可序列化,所以理解这两个接口也很重要。(1)Serializable这个接口是Java提供的可序列化的接口,而且是一个空的接口。空接口,不可思议吧。刚开始我也蒙了。如果我们用Eclipse或者Android Stdio来开发的话,当我们实现Serializable接口的时候,会提示我们添加一个serialVersionUID这么一个变量。有什么用呢?书中解释说:我们序列化对象时原创 2016-12-01 11:44:26 · 312 阅读 · 0 评论 -
Android开发艺术探索笔记(2)- Activity的启动模式
之前对Activity的启动模式的了解都是百度的,知识点零零散散。在这本书中,作者对Activity的启动模式总结的挺全面,这也是我对这本书做读书笔记的原因之一。Activity的启动模式 简单的来说,1个Standard和3个Single。(1)Standard 标准模式,也是Activity的默认启动模式。比较普通,就是启动一个Activity,就会生成一个实例压入任务栈中。Finish一个原创 2016-11-30 09:25:51 · 630 阅读 · 0 评论 -
Android开发艺术探索笔记(15)- 自定义View
View的原理学习的差不过了,是时候可以自定义View。记得,3个步骤,测量(onMeasure)- 布局(onLayout)- 绘画(onDraw)。onMeasure测量上一节已经学过onMeasure方法的主要参数MeasureSpec,我们主要根据MeasureSpec得到的mode和size,测量View的宽高。// 定义mWidth和mHeightint mWidth = 200;i原创 2016-12-06 18:12:02 · 498 阅读 · 0 评论