android
文章平均质量分 90
showCar
共分享,共学习。
展开
-
RxJava源码分析
最近因为实习的原因,又好长一段时间没写博客了。今天来个较简短的博客来强势回归哈哈。上篇博客写了RN的源码分析,出乎意料的就有两个出版社联系我要不要出书,可见RN的火热。本来也想写RN的,但因为最近实习接触了挺多Android的东东,还是想先总结总结先。RN就放后面啦。什么是RxJava接触RxJava也一段时间了,一直想写下关于它的文章,RxJava是用来实现异步框架的,类似于AsyncTask。这原创 2016-07-15 20:36:44 · 5040 阅读 · 0 评论 -
仿美团商品选购下拉菜单实现
感觉自己还是很少写实际应用实现的博客。最近在找实习,写博客时间少了,但还是要坚持。今天这篇博客来讲下电商应用中常见的选择类别下拉列表的实现。先看下效果图:一、下拉列表的实现其实实现方法有很多,这时实现的也没有什么技术含量,只是总结下自己在项目中的做法,也提供一个思路。首先是列表的数据,一般数据都是从后台读过来,这里因为没有后台,所以写死在客户端:private void i原创 2016-03-09 09:44:29 · 3925 阅读 · 3 评论 -
android发送邮件
一个项目的需求,之前一篇博客写过如何生成excel,生成后的excel要发送给用户(指定邮箱)。奇葩的后台说这个发送也不好实现,要客户端来做。也就只能做了(又是分分钟要来个螺旋王)。本篇博客就简单介绍下android如何发送邮件。结果图如下: 这里我说的只是一种方法,其实发送邮件的方式有很多。在之前的那个生成excel的项目继续扩展。没看过之前项目的可以先看下:android生成excel。原创 2016-02-22 11:50:25 · 5771 阅读 · 4 评论 -
LayoutInflater源码解析
又来一篇源码分析文章。讲源码分析文章有的时候很虚,因为我只能讲个我看懂的大概流程,所以细节部分可以没有深入研究,看完之后也只能了解个大概。但个人觉得看源码更重要的是思路而不是细节。今天来分析下LayoutInflater的源码。 之所以分析它是因为我们来常经常使用到它,但往往只知道它是加载view的而不知它具体的实现方法。不多说直接分析。源码分析平常我们使用LayoutInflater最常见的方原创 2016-02-21 11:42:24 · 3153 阅读 · 0 评论 -
Volley源码解析
很早之前就想写下关于Volley的源码解析。一开始学android网络访问都是使用HttpClient,刚接触么Volley的时候就瞬间爱不释手,虽说现在项目中使用OkHttp多些(Volley更新慢),但是作为google自家推出的网络框架,Volley还是有很多值得学习的地方。这篇博客是我对Volley源码分析后的一个总结。Volley的使用Volley的使用非常简单,相信大家都很熟悉。首先需要原创 2016-02-20 09:29:00 · 1940 阅读 · 1 评论 -
Android中Window添加View的底层原理
一,WIndow和windowManagerWindow是一个抽象类,它的具体实现是PhoneWindow,创建一个window很简单,只需要创建一个windowManager即可,window具体实现在windowManagerService中,windowManager和windowManagerService的交互是一个IPC的过程。下面是用windowManager的例子原创 2016-03-03 09:41:59 · 5603 阅读 · 1 评论 -
android View绘制源码分析
在开发过程中我们经常要进行view的自定义。如果熟练掌握自定义技巧的话就能做出很多控件出来。这篇博客来讲讲view绘制背后发生的那些事。view的基础知识view的绘制概括首先先说说view绘制的整体过程。 View绘制的源码分析 ,它的三大流程都是在ViewRootImpl中完成的,从ViewRootImpl中的performTraversals开始,有三个方法performMeasure,pe原创 2016-03-01 15:36:03 · 1291 阅读 · 0 评论 -
Data Binding Guide——google官方文档翻译(上)
android引入MVVM框架时间还不长,目前还很少有应用到app中的。但它是比较新的技术,使用它来搭建项目能省很多代码,而且能使用代码架构比较清晰。本篇文章是我在学习MVVM时翻译的,篇幅比较长,先翻译前半部分。这篇文档解析如何使用数据绑定库来写响应式布局并减少用来绑定应用程序和布局之间冗余代码,使用逻辑层和布局分离。数据绑定库提供了即灵活又全面的兼容性——它的支持库.so可以用在a翻译 2016-01-13 08:45:23 · 3726 阅读 · 2 评论 -
android测试工具MonkeyRunner--google官网翻译
最近在复习之前的笔记,在回顾MonkeyRunner时看了看google官网的内容,写得不错,就翻译出来分享下。其实google官网真是一个学习的好地方。基础知识MonkeyRunner工具提供了一个API用于在Android代码之外控制Android设备和模拟器。通过MonkeyRunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的翻译 2016-02-25 10:37:15 · 1507 阅读 · 1 评论 -
Android程序猿必看之《终端应用开发指南》
一、前言4G移动网络的商用为移动互联网的蓬勃生长提供了肥沃的土壤,并协同国内外众多互联网厂商及终端厂商共同引领了中国移动互联网翻天覆地的发展与创新。2014年以来移动4G用户数目显著提升,拉动了全网用户的流量增长,同时随着流量资费的下降,运营商将与优秀APP互助互惠:更充足更宽带宽的数据业务促进用户对移动终端APP的使用,而优秀的APP则会拉动移动互联网流量的进一步增长。转载 2016-02-25 15:04:06 · 3086 阅读 · 0 评论 -
React Native之底层源码分析篇
学习React-Native有一段时间了。今天就从源码的角度来分析下React-Native底层的通信机制。了解下底层是如何通信的对开发也有所好处。概要先大概讲一下React-Native的通信过程。RN主要的通信在于java与js之间,平常我们写的jsx代码最终会调用到原生的View。上一篇博客我们也了解到了要新建一个原生模块需要在java层和js层分别写一个Module,那这彼此之间联系是如何实原创 2016-05-30 08:55:07 · 19916 阅读 · 4 评论 -
android自定义进度值可拖动的seekbar
最近忙找实习,加上实验室在推新项目,需要学习新知识。所以很长一段时间没去整理了官博客了,github也蛮久没更新,很惭愧。接下来还是要坚持写。今天就简单的写一下我在项目中用到的算自定义seekbar的博客,需求是这样的,seekbar需要显示最左和最右值,进度要跟随进度块移动。看下效果图就明白了。 其实实现起来很简单,主要是思路。自定义控件的话也不难,之前我的博客也有专门介绍,这里就不再多说。原创 2016-04-18 20:10:36 · 6820 阅读 · 2 评论 -
React-Native之flexbox布局篇
这篇博客稍微讲解下React-Native中的布局。比较简单。RN的而布局是用css中的flexbox布局,所以布局起来与android传统的布局样式有点像。接下来就结合图片一起来看看。常用属性讲解RN的flexbox主要有以下几个属性alignItems,alignSelf,flex,flexDirection,flexWrap,justifyContent。flexDirection该属性用于指原创 2016-05-12 17:11:12 · 21122 阅读 · 2 评论 -
EventBus源码分析
最近在学习Rxjava,它的思想让我回想起了之前项目中用到的EventBus,事件订阅。但EventBus的具体原理己经记不清,就跑回去看了下它的源码。今天总结下。它的使用方法很简单,不知道如何使用的可以看看我之前写过的一篇博客[不可不知的EventBus]。(http://blog.csdn.net/u014486880/article/details/48449907)使用差别在这里还是要说一下原创 2016-04-29 10:37:12 · 4752 阅读 · 0 评论 -
入门React-Native世界
接触React-Native有一段时间了,本篇博客讲下我对RN的理解,以及入门RN必须要了解的一些基础知识。文中也会贴上一些我认为写得很好的博客链接,也是对自己学习的知识一个总结。话不多说,直接开始吧。React特点说到RN,首先要讲React,React是facebook2013年出来的一个新产物。2013年有了RN的ios版,但直到2015年有了RN for android,RN用在移动开发中才原创 2016-05-10 11:35:08 · 2337 阅读 · 0 评论 -
ButterKnife源码分析
使用Butter Knife己经很长时间了,一直很喜欢用。因为它能帮我节省很多重复性的绑定控件代码。今天就来讲讲它的源码吧。只是总结我对它源码的一个理解。先看下它的使用效果:public TestActivity extends Activity{ @Bind(R.id.top_pic) ImageView topPic; @Bind(R.id.top) TextView原创 2016-04-27 11:23:06 · 2904 阅读 · 0 评论 -
LeetCode最常见的面试笔试题总结
找了一段时间的实习,总结一下LeetCode上面试出现频率比较高的题,只总结一部分,后续还会继续更新。一、Two Sum题意是给出一个数组,输出和为k的两个数。数组为无序的。 这道题的解题思路是先把数组排序,再用两个指针,分别指向头和尾,并算出头和尾的和s,再把s与k比较,如果s小于k,头指针往后移,如果s大小k,尾指针往前移。直到找到为止。如果头尾指针相遇还没找到,则证明不存在。 代码如下:p原创 2016-04-26 23:55:09 · 24262 阅读 · 3 评论 -
浅谈开发中常用的设计模式
设计模式在开发中占很重要的地位。在大型项目中使用好设计模式往往会取得事半功倍的效果。本篇博客就介绍下几种在开发中常用到的设计模式。设计原则先看下一些约定俗成的设计原则,其实要遵守以下所有原则很难,但开发过程中还是要有这样的意识。找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。(封装变化)针对接口编程,而不是针对实现编程。多用组合,少用继承:用组合建立的系统具有很原创 2016-04-12 00:21:45 · 15160 阅读 · 1 评论 -
android中生成excel
都说程序员不爽产品经理,其实有的时候遇到一些奇葩的后台开发人员也会很不顺心。最近项目有这样一个要求,要生成一个excel然后发邮件给客户。结果后台人员直接把这个功能扔给客户端,理由是后台不好实现。听到这也就只能自己实现了(分分钟就想来个螺旋王扣它头上)。这篇博客讲下如下在android中生成excel表并存到本地。先看下生成后的效果图: 初始化数据首先我们要先造下测试数据,这里我把数据写死在一个常原创 2016-01-29 10:35:27 · 11082 阅读 · 6 评论 -
android TextView实现跑马灯效果
最近忙着项目,很久没有总结提交博客和提交github了。接下来我打算整理下项目中用到的比较有用的发表到博客上。也打算总结一些关于设计模式和源码分析的博客。今天的话就先来讲下一个非常简单但又很常用的控件,跑马灯状态的TextView。当我的要显示的文本长度太长,又不想换行时用它来显示文本一来可以完全的显示出文本,二来效果也挺酷,实现起来超级简单,所以,何乐不为。先看下效果图: 代码实现TextV原创 2016-01-28 20:15:29 · 4710 阅读 · 2 评论 -
Activity启动过程源码分析
其实写分析源码文章总会显得很复杂很乏味,但是梳理自己看源码时的一些总结也是一种提高。这篇博客分析下Activity启动过程源码,我会尽量说得简单点。个人的观点是看源码不能看得太细,否则就会花费很多时间并很难理清整个过程。所以本次分析重在理清activity的一个启动流程。首先大概总结下activity启动的整个流程,这个过程涉及到Instrumentation,ActivityThread,和原创 2016-01-10 10:43:21 · 3317 阅读 · 2 评论 -
android新控件之toolbar,floatingActionButton,SnackBar,CollapsingToolbarLayout
google 2015 I/O大会推出了8个新的控件,继续推进了android5.0之后的Materia Design风格。个人觉得MD风格还是相当好看的。最近做项目用到了一部分控件,现在把几个控件用到了一个demo中,结合demo来讲解它们。限于篇幅,本文先讲解一部分。了解东西总要先从简单到复杂,那么我们就先从简单的讲起。先来了解一下SnackBar吧。一,snackBar原创 2015-09-29 23:46:47 · 2255 阅读 · 0 评论 -
不可不知的EventBus
又一段时间没写博客了,因为事情多总是坚持不下来,其实写博客是对自己学习的一个总结和回顾,所以以后争取每周都写,在写博客中提升自己。这篇博客总结下最近在接触到的EventBus的用法。EventBus是什么?从字面上看是事件总线,顾名思义就是事件的发布有关。EventBus主要用于线程间的通信。总共分为四部分,发布者、订阅者、事件、总线。先讲讲EventBus的用法。一,EventBus使用原创 2015-09-14 23:21:34 · 711 阅读 · 0 评论 -
详谈gson解析
gson是google的产物,用于解决json数据解析比较繁琐的问题。以前解析json需要层层解析,gson出现后解析往往只需几行代码。下面从简单到复杂说说我对gson用法的理解。一,单个类的解析首先看以下的json数据。原创 2015-09-26 14:50:49 · 1249 阅读 · 0 评论 -
android学习博客及网站
介绍下平时学习的一些网站资料等。原创 2015-08-30 15:41:03 · 650 阅读 · 0 评论 -
详解Fragment的传值问题
Fragment,碎片,是Android 3.0之后加入的一个非常重要的概念。每个Fragment都有相应的Activity对它进行托管。一个Activity中可以有多个Fragment,这很自然的给大屏幕的适配提供了很便捷的方案。现在大家在开发中都必不可上的用上Fragment。本文总结了Fragment在不同情况下的传值方法,包括不同Activity下的Fragment的传值,相同Acitvi原创 2015-08-01 15:12:07 · 3234 阅读 · 0 评论 -
android中Handler的源码分析
好长时间没写博客了,之前一直很想写下源码分析的文章,今天就来分析下android的Handle源码。接触过android的人都知道,在android4.0之后就不允许在线程中更新UI。所以我们就经常用到异步处理机制,Handler就属于异步处理的一种,其经典的用法如下:原创 2015-07-18 16:42:05 · 737 阅读 · 0 评论 -
Android git版本控制与项目提交到github
本文分两部分讲解,第一部分主要介绍git版本控制,第二部分主要详细的讲解Android项目如何提交到github。一.git版本控制 1.git的简介git是当今主流的一种用来管理代码的方式,与svn相似,如果想了解svn的使用可参考我之前的博客。原创 2015-05-28 14:41:29 · 1594 阅读 · 1 评论 -
Android底部tab与标题栏相结合
Android底部tab切换界面的实现比较简单,可以利用TabHost直接实现,实现方式网上资源很多。那么除了用特定的组件来实现tab外能不能自己写代码实现呢。答案是肯定的。还有一个很常用的问题,就是不同的tab界面能否实现不同的标题栏?这个需求在项目中经常碰到,本文将讲叙Android底部tab切换界面的实现以及它与标题栏的结合。实现效果图如下:上图就是我们要实现的效果图,切换到不同原创 2015-05-24 11:02:21 · 2840 阅读 · 1 评论 -
android自定义控件
前几天参加了魅族的编程大赛,忙得好久没写博客了。今天再次回归。都觉得能写控件是一件很难的事,其实并不难。这篇博客来讲讲如何自定义控件。并自定义了我在项目中最常用到的控件。先看效果图。话不多说,直接进入主题。看看上图的圆框,我们要先画出此界面。布局如下: <RelativeLayout xmlns:android="http://schemas.android.co原创 2015-10-30 19:47:27 · 847 阅读 · 0 评论 -
浅谈android的线程池
其实在我眼里,线程池是一个很高端的东西,它会管理很多线程,并在进程中进行多线程的操作,是一个很高效且方便使用的东西。本篇文章就说说我对线程池的认识。一,线程池的基本概念线程池有很多优点,比如避免了重复创建和销毁线程而降低了程序的运行效率,其次它可以很方便的控制线程的最大并发数,在一定程度上可以减少线程间的阻塞等。在android中线程池是由java的Executor实现的。它的真正实现类是原创 2015-11-27 21:35:27 · 775 阅读 · 0 评论 -
Activity你需要知道的一切
最近想写篇关于Activity启动过程源码分析的博客,在此之前先总结下Android中Activity必须要知道的一些基础知识,以方便后面能看懂Activity的源码。一,Activity生命周期和启动模式activity最经典的启动模式图如下:它分为onCreate--onStart--onResume--onPause--onStop--onDestory.这几个阶段,原创 2016-01-09 16:46:55 · 1257 阅读 · 0 评论 -
Android 开源项目分类汇总
Android 开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、其他Andro转载 2015-12-18 20:04:20 · 1547 阅读 · 0 评论 -
IPC——android进程间通信
android进程间通信,讲解IPC进程通信的几种常见方式。原创 2015-12-18 20:13:29 · 1140 阅读 · 1 评论 -
Cocos2d_android你所需要知道的一切(下)
上一篇我们主要讲了Cocos2d_android一些布置游戏场景的知识,这一篇重点讲下Cocos2d_android的事件触发,没看过上一篇的可以先去看下。对于本章我做了个demo,完成各种动画。先看下效果图。点击不同的圣诞树会有不同的动画。因为屏幕有限演示的动画有限,但实现思路都是一样的。一,Action的简介Cocos2d_android的CCAction总原创 2015-12-30 20:43:36 · 2238 阅读 · 3 评论 -
CoCos2d_android入门所需知道的一切
用Cocos2d_android开发植物大战僵尸,所需要知道的知识。原创 2015-12-28 13:55:42 · 10835 阅读 · 10 评论 -
2015年十大热门Android开源新项目
2015即将结束,又到了大家喜闻乐见的年终盘点时刻啦,今天给大家盘点一下2015年Android开发领域新出现的10大热门开源项目。数据来自于GitHub搜索,创建时间自2015年1月1日开始的新项目才能入围,因此一些创建时间较早的诸如RxJava等优秀项目不在榜上,排名规则是best match,欢迎大家一起吐槽。10. Material-Animations它是一款实现了各种M转载 2015-12-30 16:39:55 · 1030 阅读 · 0 评论 -
Android的消息处理机制,AsyncTask源码解析
之前写过一篇Handler的源码解析文章,因为AsyncTask底层也是Handler实现的,所以不了解的可以先去了解下Handler。本文也会再次分析下Handler,毕竟它是android源码中随处可见的东东。一、Handler的简要分析讲Handler之前我们先讲一下ThreadLocal的概念。简单的说,ThreadLocal是介于局部变量和全局变量之间,可以在不同线程中互不干扰地原创 2015-11-28 15:19:25 · 740 阅读 · 0 评论 -
Data Binding Guide——google官方文档翻译(下)
这篇博客是Data Binding Guide官网文档翻译的下篇,如果没看过前半部分翻译的可以先看Data Binding Guide——google官方文档翻译(上) 一,数据对象任何不含业务逻辑的java简单对象(POJO)可用于数据绑定,但修改POJO不能使UI更新。而通过数据绑定可以使数据对象感知到数据的变化。有三种不同的感知数据改变的机制,可见对象,可见字段,和可见集合。翻译 2016-01-17 10:28:50 · 2174 阅读 · 2 评论 -
svn版本控制在eclipse中用法详解
svn是当前一种注流的开源代码的版本控制系统。在一些大中型项目中,代码的版本控制是必不可少的。svn用于代码管理有以下几种作用:1,可以多人同时进行编码,方便解决整合过程中的冲突。2,可以追溯到之前版本,追溯问题代码的修改人,更快发现问题。3,可以在进行权限的控制。4,方便产品的发布。我也是刚接触svn不久,在项目的开发中,它着实带给我很多方便,在此详细的说下svn的相关简介及原创 2015-05-18 14:50:34 · 4356 阅读 · 1 评论