android
文章平均质量分 93
程序员历小冰
Thunder Thingking and Action to enjoy life 个人博客:http://remcarpediem.net/
展开
-
SharedPreferences详解
SharedPreferences详解 转自点击打开链接 我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在window下通常我们会采用ini文件进行保存.如果是J2EE下面,我们会采用properties属性文件或者xml进行保存.在我们的An转载 2015-02-21 16:34:03 · 1463 阅读 · 0 评论 -
[译]使用注解处理器生成代码-3 生成源代码
本博文原文地址摸我 本篇博文是关于使用注解处理器生成java代码系列的第三篇也是最后一篇文章。在第一篇(在这里)中,我们介绍了注解和其一般用法。在第二篇(在这里)中,我们介绍了注解处理器,如何构造并且使用它。 在本篇博文中,我们将想你展示如何使用注解处理器来生成源代码。简介 生成源代码很简单。生成正确的源代码却很难。优雅高效的去生成正确的代码是很麻烦的任务。 幸运的是,Model-Drive翻译 2016-03-07 21:54:33 · 1677 阅读 · 0 评论 -
[译]使用注解处理器生成代码-2 注解处理器
原文请看摸我 这是有关注解代码生成技术系列博文的第二部分。在第一部分(摸我)中,我们介绍了注解的基本概念与用法。 在本篇博文中我们将介绍注解处理器的基本概念和使用运行方法。介绍 注解功能强大。你可以使用注解来设置各类元数据或者配置信息,语法格式优雅并且功能强大。 从目前我们了解的知识来看,注解比起Javadoc来有很多优势,但是这些好像都不足以委员会将其加入java语言之中。那么,我们可翻译 2016-02-24 22:09:31 · 1770 阅读 · 0 评论 -
Android Scroll详解(一):基础知识
原作者: ztelur 译文仅供个人学习,不用于任何形式商业目的,转载请注明原作者、文章来源、翻译作者及简书链接,版权归原文作者所有。 在前边的文章中,我们已经对Android触摸事件处理有了大致的了解,并且详细探讨了MotionEvent的相关用法。对之前文章中的知识还不是很了解的同学,请阅读《Android MotionEvent详解》 今天,我们就来探讨一下Android中界面滚动效原创 2016-03-27 18:28:30 · 2700 阅读 · 1 评论 -
Android视图架构详解
作者: ztelur 联系方式:segmentfault,csdn,github 转载请注明原作者、文章来源,链接,版权归原文作者所有。 最近一直在研究View的绘制相关的机制,发现需要补充一下Android View Architecture的相关知识,所以就特地研究了一下这方面的代码,写成本篇文章 为了节约你的时间,本篇文章内容大致如下:Activity,DecorView,Pho原创 2016-04-17 15:13:52 · 11583 阅读 · 9 评论 -
Android Scroll详解(三):Android 绘制过程详解
作者: ztelur 联系方式:segmentfault,csdn,github 本文转载请注明原作者、文章来源,链接,版权归原文作者所有。 本篇为Android Scroll系列文章的最后一篇,主要讲解Android视图绘制机制,由于本系列文章内容都是视图滚动相关的,所以,本篇从视图内容滚动的视角来梳理视图绘制过程。 如果没有看过本系列之前文章或者不太了解相关的知识,请大家阅读一下一下原创 2016-04-21 21:51:46 · 7620 阅读 · 2 评论 -
Property Animation框架详解(一)
作者: ztelur 联系方式:segmentfault,csdn,简书 本文转载请注明原作者、文章来源,链接,版权归原文作者所有。 前段时间阅读了一篇关于Android动画学习的文章《如何学习 Android Animation?》,深感Android动画种类繁复,类型多遍,虽然自己实现过很多动画效果,但是对Android动画的整体领悟还有所欠缺,所以决定最近好好研究一下Android动画原创 2016-05-09 14:29:02 · 3241 阅读 · 0 评论 -
自定义Switch过程详解
作者: remcarpediem 联系方式:segmentfault,csdn,简书 本文转载请注明作者、文章来源,链接,版权归作者所有。 前段时间,我看到了一篇关于Android动画的文章Android View 仿iOS SwitchButton Material Design,十分喜欢文章作者的笔风,可惜每个人的笔风都不同,不过我倒是实现了一个类似的Switch组件,项目地址为http原创 2016-07-15 22:35:35 · 8068 阅读 · 5 评论 -
Android Span 架构介绍
前几天在微博上看到一个人评论Android Span机制相当强大,有必要细心研究一下,于是就google了一下,发现了一篇很好的文章Spans, a Powerful Concept.,然后以这篇文章为基础研究了一下Android Span的用法。于是决定写几篇文章来总结一下。Android Span 介绍 对于Span,大家首先想起的应用场景就是同一个TextView中显示不同颜色的字体。对于这种原创 2016-08-05 22:05:48 · 7822 阅读 · 2 评论 -
Android Span 进阶
在上篇文章《Android Span 架构介绍》,我们讲述了Android Span的基本概念和用法,这篇文章我们就来扩展一下我们对Android Span的了解,这一定会使你感到惊奇的,惊叹Android Span竟然还能完成这些的效果,让你在Android自定义View和动画方面有更加深刻的理解,可能会帮助你你想出更加简洁的实现方式。 本篇文章主要讲述一下两个方面的内容:自定义Androi原创 2016-08-08 21:40:06 · 8819 阅读 · 2 评论 -
Android 图像处理(一) : Shader
之前一段时间,我都在研究Android自定义View的相关知识,随着逐渐的深入,渐渐了解到了一些Android图像处理的知识,主要是Bitmap,Canvas,Shader,Matric,ColorFilter和Xfermode的使用。所以准备写一系列文章介绍一下这些方面的知识。图像处理相关概念介绍 要想了解Shader的概念,首先要了解Android图像处理中几个比较重要的概念:bitmap,ca原创 2016-08-26 15:27:55 · 7869 阅读 · 1 评论 -
View的三次measure,两次layout和一次draw
我在《Android视图结构》这篇文章中已经描述了Activity,Window和View在视图架构方面的关系。前天,我突然想到为什么在setContentView中能够调用findViewById函数?View那时不是还没有被加载,测量,布局和绘制啊。然后就搜索了相关的条目,发现findViewById只需要在inflate结束之后就可以。于是,我整理了Activity生命周期和View的生命周期原创 2016-10-30 16:48:10 · 12664 阅读 · 6 评论 -
Android性能优化(一):TraceView
最近,我准备好好研究一下Android性能优化方面的相关知识,准备从应用流畅度开始,边看《移动App性能评测与优化》边自己实践,希望可以补足一下自己在优化这方面的空白。 工欲善其事必先利其器,我先学习了TraceView这个大神器的使用方法。下面就来总结一下。 为了节省你的时间,本文主要内容如下: - TraceView两种使用方法 - TraceView各项数据的含义TraceView原创 2016-12-31 16:26:12 · 2488 阅读 · 3 评论 -
使用注解处理器生成代码-1 注解类型
原文地址如下:摸我 我希望以此篇博文作为基于注解处理器生成代码系列博文的开篇,给大家展示注解处理器有多么强大,并在最后使用这项技术来在编译时刻生成android代码 在这个系列博文中,我们会: - 介绍Java语言中的注解 - 理解注解的基本用法和作用域 - 了解Annotation Processor基础知识和作用 - 学习如何在命令行,Eclipse,Maven中运行Annota翻译 2016-02-21 20:23:42 · 1772 阅读 · 0 评论 -
Android MotionEvent详解
在前边几篇博文中(《图解Android事件传递之ViewGroup篇》,《图解Android事件传递之View篇》),我们已经了解了android触摸事件传递机制,接着我们再来研究一下与触摸事件传递相关的几个比较重要的类,比如MotionEvent。我们今天就来详细说明一下这个类的各方面用法。事件坐标的含义 我们都知道,每个触摸事件都代表用户在屏幕上的一个动作,而每个动作必定有其发生的位置。在Mot原创 2016-03-16 14:00:09 · 5235 阅读 · 0 评论 -
requestFeature() must be called before adding content问题的解析
过完年,又重新拾起之前编写的android的项目,希望美化一下界面,于是自定义了一些AlertDialog,然后就遇到了requestFeature() must be called before adding content这个AndroidRuntimeException。上网百度一下,发现大多数文章只是记录一下错误和改正方法,并没有给出内部的原理,于是自己总结一个相关的内部原理。原创 2015-02-20 16:07:13 · 20392 阅读 · 4 评论 -
android界面的measure详解
想必大家都遇到过在onCreate中调用getMeasuredHeight和getMeasuredHeight这两个函数得到的返回值是0,0的情况吧,这是为什么呢?当然是android界面初始化的相关机制导致的这个“问题”啦,我们现在就来看一下android的view和viewgroup两个类在初始化中measure相关的机制吧。我们都知道视图的绘制过程要经历三个过程,分别是onMeasure原创 2015-03-28 22:49:41 · 1874 阅读 · 0 评论 -
Android-Async-HttpClient 源码解析
本博文同步在本人独立博客上发布,如有错误,请多多指教。 前几天去参加一个面试,被问到了一些android 网络方面的知识,发现自己在这个方面还有些不足,需要自我补充一下相关的知识,于是最近找了些开源的网络模块的第三方库来阅读,主要是想深入了解一下http协议和相关的代码框架组织问题。这篇博客就总结一下自己阅读android-async-http的一些体会和学习吧。简介 介绍android asy原创 2015-09-27 14:45:21 · 2091 阅读 · 0 评论 -
Gson 源码分析
最近研究了google开源的Json库Gson,在这里进行总结一下,应该会分为3篇博客。第一篇主要讲一下Gson的整个框架吧;第二篇主要总结一下Gson关于反射的部分;最后一篇会总结一下JsonWriter和JsonReader,主要是Json对象的处理啦。Gson Gson是可以转换Java对象为JSON表示的java库,也可以将JSON转换为Java对象,并且可以转换你没有源代码的预设的复杂对象原创 2015-10-02 16:16:04 · 5141 阅读 · 3 评论 -
React Native Android Cookie Problem
背景 最近使用react native 来写一个公司内部使用的app,使用fetch去登陆,发现在android平台上无法获取cookie,iOS平台上却可以。即使是response.headers.get()也获得不了相关信息。于是上网google并且阅读源码,终于找到了问题出现的原因和解决方案。问题原因 我们查看native react的fetch.js的代码,发现它的底层是使用XmlHttpR原创 2015-11-04 13:55:08 · 4530 阅读 · 1 评论 -
OkHttp解析系列-开篇
背景 前几天使用react-native遇到了底层okhttp库cookie无法保存的问题,由于自己对http和okhttp也不是很了解.所以想开一个系列的博文,借助详细解析okhttp的详细解析来梳理一下http相关的知识。Okhttp Okhttp是很火而且效率很好的一个android的网络库,被很多app或者开源库使用或者集成,比如react-native,官网地址如下戳我.UML类图 事先声原创 2015-11-07 12:41:56 · 1875 阅读 · 0 评论 -
初识Dagger2
本篇博文也在http://ztelur.github.io/同时发布。文章中如果有错误,请告诉我,我会立刻修改。 要使用Dagger2,首先要了解的就是控制反转和依赖注入这两个概念。一、控制反转 在wiki词条中,控制反转如下定义:In software engineering, inversion of control (IoC) describes a design in whi原创 2015-09-18 17:48:11 · 2068 阅读 · 0 评论 -
Window和WindowManager解析
这几天阅读了《Android开发艺术探索》的关于Window和WindowManager的章节,特此写一片博文来整理和总结一下学到的知识. 说到Window,大家都会想到所有的视图,包括Activity,Dialog,Toast,它们实际上都是附加在Window上的,Window是这些视图的管理者.今天我们就来具体将一下这些视图是如何附加在Window上的,Window有是如何管理这些视图的.W原创 2015-10-28 16:33:29 · 1474 阅读 · 0 评论 -
OkHttp解析系列-重定向和出错重试
&emps;这是OkHttp系列博文的第一篇,之前写过一篇草稿,介绍OkHttp的整体框架,但是感觉涉及的知识太多,无法在一篇中讲述清楚,所以,之后的博文都只关注某一方面的知识,争取文章短小精悍。 今天主要研究一下OkHttp发送Http请求过程中的重定向和出错重试,主要涉及的源码文件有Call.java``HttpEngine.java。 我们今天研究Call的Response getRe原创 2015-11-18 22:21:52 · 25011 阅读 · 0 评论 -
Android文件存储位置简述
最近一段时间,工作和学习方面都比较忙,所以,博客方面有一段时间没有投入时间啦,今天学习了一下android文件存储方面的知识,主要是Internal Storage和External Storage的相关特性.主要知识来自android的官方文档和其他人的博客.Internal Storage 一般来说,你可以直接存储文件在机器的internal storage中,存储在这个位置的文件是私有的,其他原创 2015-12-12 17:16:07 · 5071 阅读 · 0 评论 -
图解Android事件传递之ViewGroup篇
本篇文章主要讲述ViewGroup中关于触摸事件传递的相关逻辑。主要梳理一下dispatchTouchEvent函数。一些知识点FLAG_DISALLOW_INTERCEPT,可以使用requestDisallowInterceptTouchEvent来设置ViewGroup的这个标记位,让ViewGroup不拦截事件。ViewGroup只会将触摸事件转发给那些可见并且触摸事件发生在其可视范围内原创 2016-02-11 17:25:52 · 1656 阅读 · 0 评论 -
图解Android事件传递之View篇
最近放假在家里闲着,想好好研究一下android的事件传递机制。于是便抓来View,ViewGroup这些类的源代码来看;有很多疑惑,又在网上找到了几篇比较好的介绍事件传递机制的文章阅读了一番。然后想着最好把学习到的知识输出一遍,画成视图,写下这篇博文。 除了图片,我还在源码上进行了注释,提交到了github上去。我的githubView的dispatchTouchEventView的onTou原创 2016-02-04 17:07:35 · 1926 阅读 · 0 评论 -
关于Android MVP模式的思考
这一周对现有的Android项目进行了框架重构,使用MVP模式来重新构建整个项目和包结构。今天就来总结一下我在这个过程中理解和实践吧。MVP概述 MVP是指Model,View和Presenter的缩写,是MVC模式的一种改进版。MVP是一种非常适合Android应用的开发模式,它将把逻辑相关代码从presentation Layer中分离出去,所以,所有界面应该显示什么和界面如何显示这些是相互分离原创 2017-03-12 17:15:44 · 2597 阅读 · 0 评论