- 博客(321)
- 资源 (24)
- 收藏
- 关注
翻译 在Android 5.0中使用JobScheduler
在这篇文章中,你会学习到在Android 5.0中如何使用JobScheduler API。JobScheduler API允许开发者在符合某些条件时创建执行在后台的任务。
2015-04-01 16:48:16 46876 14
翻译 kotlin-for-android简介 (让你的Android代码更简洁)
Kotlin是众多基于JVM的语言之一,它一开始是作为android 开发中java语言的可能的代替者出现的。java是世界上使用最多的语言之一,而伴随着其他语言的发展使得程序员编程越来越容易,
2015-03-26 18:15:30 7853 2
原创 Android源码设计模式分析一期发布
简述设计模式已经成为开发人员最重要的技能之一,它们能够让你优雅、简单、灵活地解决开发中遇到的设计难题,让你的软件系统具有更好的可扩展性、灵活性,在特定场景之下让你的软件系统实现拥抱变化。但设计模式运用在Android上的书籍并不多,Android本身又是开源,那么剖析Android源码中的设计模式必定是我们学习设计模式的一个非常好的渠道。我们在大型系统中学习设计模式的运用,领悟它的设计思考、灵活运用
2015-03-23 14:37:56 23079 10
翻译 一种更清晰的Android架构
过去几个月以来,通过在Tuenti网站上与@pedro_g_s和@flipper83(安卓开发两位大牛)进行友好讨论之后,我决定写这篇关于架构Android应用的文章。 我写这篇文章的目的是想把我在过去几个月体悟到的小方法以及在调查和应用中学到的有用的东西分享给大家。
2015-03-23 10:14:37 9858 11
原创 教你写Android ImageLoader框架之图片缓存 (完结篇)
在教你写Android ImageLoader框架系列博文中,我们从基本架构到具体实现已经更新了大部分的内容。今天,我们来讲最后一个关键点,即图片的缓存。为了用户体验,通常情况下我们都会将已经下载的图片缓存起来,一般来说内存和本地都会有图片缓存。那既然是框架,必然需要有很好的定制性,这让我们又自然而然的想到了抽象。下面我们就一起来看看缓存的实现吧。
2015-03-10 11:41:12 9763 22
原创 教你写Android ImageLoader框架之图片加载与加载策略
在教你写Android ImageLoader框架之初始配置与请求调度中,我们已经讲述了ImageLoader的请求配置与调度相关的设计与实现。今天我们就来深入了解图片的具体加载过程以及加载的策略(包括按顺序加载和逆序加载) ,在这其中我会分享我的一些设计决策,也欢迎大家给我提建议。
2015-03-09 16:04:52 7639 8
原创 Android设计模式源码解析之ListView观察者模式
深入分析观察者模式以及观察者模式在Andriod中的运用。本文来自SAOS开源项目组。
2015-03-03 17:11:28 12161 12
原创 Android开源库与设计模式开源组SAOS建立
Android知名开源库简版实现开源项目通过分析并实现Android平台知名开源框架的简单版本深入了解开源库核心技术,并对这些库的设计思想有一定的了解;Android源码设计模式分析开源项目通过分析Android系统中的设计模式来加深大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套,提高开发人员的设计能力。
2015-03-02 00:01:49 6049 21
原创 Android源码之ListView的适配器模式
通过增加Adapter一层来将Item View的操作抽象起来,ListView等集合视图通过Adapter对象获得Item的个数、数据元素、Item View等,从而达到适配各种数据、各种Item视图的效果。因为Item View和数据类型千变万化,Android的架构师们将这些变化的部分交给用户来处理,通过getCount、getItem、getView等几个方法抽象出来,也就是将Item View的构造过程交给
2015-02-26 09:12:29 13944 14
原创 公共技术点之面向对象六大原则
概述在工作初期,我们可能会经常会有这样的感觉,自己的代码接口设计混乱、代码耦合较为严重、一个类的代码过多等等,自己回头看的时候都觉得汗颜。再看那些知名的开源库,它们大多有着整洁的代码、清晰简单的接口、职责单一的类,这个时候我们通常会捶胸顿足而感叹:什么时候老夫才能写出这样的代码! 在做开发的这些年中,我渐渐的感觉到,其实国内的一些初、中级工程师写的东西不规范或者说不够清晰的原因是缺乏一些指导
2015-02-24 23:14:21 7529 17
原创 公共技术点之 Java反射 Reflection
公共技术之 Java反射 Reflection1. 了解Java中的反射1.1 什么是Java的反射Java反射是可以让我们在运行时获取类的函数、字段、父类、接口等Class内部信息的机制。通过反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值,即使方法或字段是私有的的也可以通过反射的形式调用,这种“看透class”的能力被称为内省,这种能力在框架开发中尤为重要。
2015-02-08 21:02:14 4329 12
原创 NineOldAnimations 设计解析
NineOldAndroids是一款支持在低版本( api 11以下 )使用Android属性动画以及3D旋转动画的框架,它提供了一系列如ViewAnimator,ObjectAnimator,ViewPropertyAnimator等API来完成这些动画,解决了Android动画框架在低版本的兼容性问题。本文尝试从设计的角度解析NineoldAnimations的整体结构
2015-02-08 20:06:02 4865 12
原创 教你写Android ImageLoader框架之初始配置与请求调度
在教你写Android ImageLoader框架之基本架构中我们对SimpleImageLoader框架进行了基本的介绍,今天我们就从源码的角度来剖析ImageLoader的设计与实现。
2015-02-01 11:44:08 9321 26
原创 教你写Android ImageLoader框架之基本架构
SimpleImageLoader分享出来的主要目的并不是说替代那些著名开源库,而是提供一个简单的、又有一定参考价值的ImageLoader实现让一些需要帮助的人学习,在深入了解实现的同时学到知识,也能够体会到在设计一个开源库时应该要做哪些考虑、做哪些取舍、有什么模式,当然在了解了ImageLoader的实现之后再去使用专业的开源库也会更加的得心应手,出现问题的时候自己也能够不太费力地去究其原因。在提升自己的同时也能够了解一些开源库的设计基本原则,这也是我的博客中一直主张的观点。
2015-01-31 16:04:45 12906 31
原创 教你写Android网络框架之请求配置与Response缓存
在教你写Android网络框架的前三篇文章中,我们从基本结构到代码实现,剖析了一个简单的网络框架应该是怎样运作的,以及在面对各式各样的需求时应该如何对代码做出处理,在深入了解网络框架的同时学习到一些简单的面向对象设计原则。正如第一篇博文所说,SimpleNet框架参照的是Volley实现,甚至有一些类名也是一样的。我们的目标并不是要重新发明轮子,而是以学习轮子制作的过程来达到提升自我的目的。SimpleNet只是一个简单的网络框架实现,没有经过严格的测试以及市场检验,不建议大家在项目中使用,当然如果你觉得没
2015-01-27 14:21:03 7485 27
原创 教你写Android网络框架之Http请求的分发与执行
前言 在《教你写Android网络框架》专栏的前两篇博客中,我们已经介绍了SimpleNet框架的基本结构,以及Request、Response、请求队列的实现,以及为什么要这么设计,这么设计的考虑是什么。前两篇博客中已经介绍了各个角色,今天我们就来剖析另外几个特别重要的角色,即NetworkExecutor、HttpStack以及ResponseDelivery,它们分别对应的功能是网络请求线程
2015-01-26 12:26:54 9467 36
原创 教你写Android网络框架之Request、Response类与请求队列
在教你写Android网络框架之基本架构一文中我们已经介绍了SimpleNet网络框架的基本结构,今天我们就开始从代码的角度来开始切入该网络框架的实现,在剖析的同时我们会分析设计思路,以及为什么要这样做,这样做的好处是什么。这样我们不仅学到了如何实现网络框架,也会学到设计一个通用的框架应该有哪些考虑,这就扩展到框架设计的范畴,通过这个简单的实例希望能给新人一些帮助
2015-01-22 13:55:01 19779 33
原创 教你写Android网络框架之基本架构
在Android开发过程中,网络是我们很重要的一部分,因此我们就以网络框架开始。在这个框架开发过程中,我会整理开发思路、以及遇到一些设计问题时会有怎么样的考虑、解决方案,当然这只是我个人的观点,大家也可以有自己的实现。
2015-01-15 18:14:41 23489 30
原创 实现Android 5.0 Material Design的点击任意View的水波效果
自从Android 5.0问世以后,它的UI风格受到了大家普遍的赞美,简单、动感十足,但是由于工作比较忙,本人对于Android 5.0并没有太多的关注。前几天在知名博主任玉刚的群中有同学问到实现Android 5.0 Material Design中的点击任意View时产生水波的效果,
2015-01-10 21:49:34 8967 7
原创 实现Android支付宝声波支付时的波纹视图
转载请注明出处,本文来自【 Mr.Simple的博客 】。 我正在参加博客之星,点击这里投我一票吧,谢谢~前言 自从支付宝声波支付的波纹效果出来以后,这种形式就慢慢流行开来,比如各种安全软件在扫描时会采用这种动画效果,这种波纹荡漾起来也是增加了动感十足呢,如图1。 图1 今天我们就来学习如何实现
2015-01-09 11:37:53 12827 25
原创 Android中自定义MultipartEntity实现文件上传以及使用Volley库实现文件上传
在开发当中,我们常常需要实现文件上传,比较常见的就是图片上传,比如修改个头像什么的。但是这个功能在Android和iOS中都没有默认的实现类,对于Android而言我就是要实现一个文件上传功能,但是我还得下载一个jar包,而这个jar包几十KB,这尼玛仿佛并非人间!今天我们就来自己实现文件上传功能,并且弄懂它的基本原理。
2014-12-30 16:31:27 11915 18
原创 Objective-c单例模式的正确写法
单例模式在iOS开发中可能算是最常用的模式之一了,但是由于oc本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦,这里我就抛砖引玉来聊一聊iOS中单例模式的设计思路。
2014-12-17 12:52:12 25580 4
原创 HTTP POST请求报文格式分析与Java实现文件上传
在开发中,我们使用的比较多的HTTP请求方式基本上就是GET、POST。其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等。而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也比较容易出错。今天我们就一起来学习HTTP POST的报文格式以及通过Java来模拟文件上传的请求。
2014-12-11 12:41:43 42861 9
原创 iOS开发之旅之UIViewController解析
就iOS开发来说,UIViewController就最核心的类型之一。而iOS的整个UI开发的核心思想也是MVC的架构,从UIViewController的命名就可以看出它在MVC中所扮演的角色
2014-12-01 10:28:58 8828 8
原创 在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能。
2014-10-27 11:33:59 20793 16
原创 Android View系统分析之三Activity的启动与显示
在Android View系统分析之从setContentView说开来(一)与Android View系统分析之二View与ViewGroup中我们已经简单介绍了一个Activity的UI内容与视图树的组成关系,即View与ViewGroup组成了Activity的可视化视图树,然后将该视图树添加到Activity中的DecorView的content区域,这样整个Activity的UI就填充完成了。那么一个进程和Activity又是如何启动?Activity的UI内容又是如何显示在屏幕上的呢?
2014-10-13 10:31:42 5142 2
原创 让Android Support V4中的SwipeRefreshLayout支持上拉加载更多
Android SDK中并没有默认添加下拉刷新组件,但是在Support V4中官方给出了一个SwipeRefreshLayout组件,它支持下拉刷新功能,但却不支持滑动到底部时的上拉加载更多的功能,这里我们就让Android Support V4中的SwipeRefreshLayout支持上拉加载更多。
2014-10-10 10:23:31 33878 30
原创 Android View系统分析之二View与ViewGroup
在Android View系统分析之从setContentView说开来(一)一文中,我们从setContentView开始阐述了Android中的视图层次,从设置内容布局到整个视图层次的建立的过程。并且对View和ViewGroup的关系进行了简单的介绍,今天我们继续来深入的了解Android中的View和ViewGroup。
2014-10-04 19:04:15 6264 4
原创 Android ViewGroup拦截触摸事件详解
在自定义ViewGroup中,有时候需要实现触摸事件拦截,比如ListView下拉刷新就是典型的触摸事件拦截的例子。触摸事件拦截就是在触摸事件被parent view拦截,而不会分发给其child,即使触摸发生在该child身上。被拦截的事件会转到parent view的onTouchEvent方法中进行处理。但是这个交互过程还是挺复杂的,有多种情况,今天我们就来分析一下吧。
2014-10-01 21:29:13 19706 7
原创 打造通用的Android下拉刷新组件(适用于ListView、GridView等各类View)
最近在做项目时,使用了一个开源的下拉刷新ListView组件,极其的不稳定,bug还多。稳定的组件又写得太复杂了,jar包较大。在我的一篇博客中也讲述过下拉刷新的实现,即Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件。但是这种通过修改Margin的形式感觉不是特别的流畅,因此又花了点时间用另外的原理实现了一遍,特此分享出来。
2014-10-01 18:57:11 16805 15
原创 Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件
Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件, 下拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采用这种方式。对于开发效率而言,使用获得大家认可的开源库必然是效率最高的,但是不重复发明轮子的前提是你得自己知道轮子是怎么发明出来的,并且自己能够实现这些功能。否则只是知道其原理,并没有去实践那也就是纸上谈兵了。做程序猿,动手做才会遇到真正的问题,否则就只是自以为是的认为自己懂了。今天这篇文章就是以自己重复发明轮子这个出发点而来的,通过实现经典、使用率较
2014-09-13 18:28:21 21441 9
原创 Android View系统分析之一从setContentView说开来
Android View系统分析之从setContentView说开来(一),以setContentView为入口,分析整个视图树的组成,为Android View系统系列博文做开篇~
2014-09-08 14:04:05 8093 5
原创 Android中ListView嵌套GridView的简单消息流UI(解决宽高问题)
最近搞一个项目,需要用到类似于新浪微博的消息流,即每一项有文字、有九宫格图片,因此这就涉及到ListView或者ScrollView嵌套GridView的问题。其中GridView的高度问题在网上都很容易找到答案,即覆写onMeasure方法,然后设置高度的MeasureSpec。但是宽度问题确实没有什么资料
2014-09-04 18:25:50 8427 3
原创 Android中为TextView添加多个可点击的文本
我们使用社交软件的过程中多多少少会为别人的帖子点赞,如图 : 可以看到用户页面显示出来的只是点了赞的用户的名称,点击这些名称可以进入到该用户的主页。我们就来实现类似的效果。直接上代码吧。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(
2014-09-04 14:08:22 9325 2
原创 Android AIDL实例解析
AIDL这项技术在我们的开发中一般来说并不是很常用,虽然自己也使用新浪微博的SSO登录,其原理就是使用AIDL,但是自己一直没有动手完整的写过AIDL的例子,说来丢人呐,所以就有了这篇简单的文章。 AIDL(AndRoid接口描述语言)是一种借口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的. 如果需要在一个Activity中,
2014-09-02 11:22:35 10065 4
AndroidEventBus Jar
2015-02-09
AndroidEventBus事件总线框架
2015-02-05
基于Qt4实现的视频播放器源码
2013-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人