- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 震惊!竟然可以这样使用自己的SDK开发Android
日常开发中,SDK 和 API的区别会迷惑不少人,本文首先区别了API和SDK的异同,然后介绍了Android常用的jar包和aar包,以及它们在Android Studio中的生成方式,最后本文推荐了Twitter的Fabric SDK创建经验一文,供大家一起学习。
2017-03-18 09:53:31 4976 3
转载 CSDN-markdown编辑器,终于支持数学公式了,nice!
CSDN 推出了基于StackEdit修改而来的Markdown编辑器,用它写博客,将会带来全新的体验。本文是对官方文字的记录,方面自己以后查阅。
2017-03-17 19:45:45 1002
原创 Android基础知识——Android SDK Manager详解
做Android开发时,有时候会直接拿别人的工程代码在自己PC上运行,编译的时候出错,检查后发现对方工程的compileSdkVersion和buildToolsVersion在你的PC上没有对应的版本,此时你准备打开Android SDK Manager,安装需要的sdk版本和buildTools版本。如下图,展示了所有相关的package,这些package到底都是什么功能呢?我们一一来看(如果
2016-11-15 22:16:10 33318 3
原创 二叉搜索树
二叉搜索树是在二叉树的基础上的根据子树的值的大小进行了排序调整后的结果,而且它是红黑树的基础结构,在了解红黑树之前学习二叉搜索树对后面掌握红黑树是有很大帮助的。 定义二叉树的任意结点,它的左子树关键字不超过父结点,右子树关键字不小于父结点,则这样的二叉树成为二叉搜索树。查找相对于普通二叉树的查找,二叉搜索树可以借助待查数与当前结点的相对大小确定下一步搜索的方向。 查找代码的递归版本:Node se
2016-09-16 17:44:54 413
原创 Java HashMap实现原理2——HashMap详解
博主的前两篇文章Java HashMap实现原理0——从hashCode,equals说起,Java HashMap实现原理1——散列表已经讲述了HashMap设计的知识点,包括:hashCode(),equals(),散列表结构,散列函数、冲突解决等,在散列表一文最后,还给出了一个极简版本的实现。从极简版出发,理解java.util.HashMap,就容易多了。 最近博主偶遇了几家公司的技术文章
2016-09-15 17:20:37 1472
原创 Java HashMap实现原理1——散列表
这是HashMap系列博文的第二篇,在上一篇讲了hashCode、equals等方法的用途后,再带大家看下HashMap的数据结构——散列表,一步步地靠近HashMap的最终实现。
2016-09-14 11:26:33 676
原创 Android布局优化的一些小技巧
Android布局优化技巧、 如何优化你的布局RelativeLayout和LinearLayout及FrameLayout,以及<include>、<merge>、<ViewStub>对布局起到的优化。
2016-09-12 21:15:41 501
原创 递归详解
从递归的定义,常用的问题场景,及递归方法的嵌套执行流程出发,分三部分对递归进行介绍,最后以一个二叉树的中序作为例子,详细分析如何递归实现及递归具体的执行流程。
2016-09-07 10:02:13 2258
转载 Android进阶系列11-Android多线程并发
多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项
2016-09-04 19:22:42 693
原创 Android进阶系列10-AsyncTask分析
基于Android异步消息处理机制相关的Handler、MessageQueue、Looper的具体事例——AsyncTask。方便在子线程切换到UI线程,借助源代码分析加深下对异步消息处理的理解。
2016-09-04 14:06:06 721 5
原创 Android进阶系列9-Android异步消息处理Handler机制解析
Android 异步消息处理机制 ,从源码带你理解 Looper、Handler、Message、MessageQueue四者关系,以及使用的一些注意点!
2016-09-02 21:19:17 548
原创 Android进阶系列8-编译时注解框架ButterKnife浅析
在《Think in Java》一书中,作者提到注解解释器的实现方案,除了最常见的利用反射机制构造外,还提到了注解处理工具APT,APT操作java的源文件,而不是编译后的类,APT会在处理完源文件后编译它们。 Android开发过程中,经常要对控件进行初始化以及监听操作等。其中的代码繁琐而又机械,而这正是注解的强项,减轻程序猿的码码负担。相应的注解工具很多,比如一些敏捷开发框架xUtils3中的
2016-09-01 16:45:21 553
原创 Java的synchronized用法
Java的并发是个细活儿,作者目前码码过程中还没涉及到临界资源的并发访问。今天看到一篇不错的文章Java中Synchronized的用法,将其记录消化下。 什么时候需要同步呢?Think in Java中有这么一段“如果你正在写一个变量,它可能接下来将被另一个线程读取,或者正在读取一个上一次已经被另一个线程写过的变量,那么必须同步,并且,读写线程都必须用相同的监视器锁同步。每个访问临街共享资源的方
2016-08-30 16:43:04 349
原创 Android进阶系列7—重说View的工作流程三部曲
从DecorView开始的View绘制流程,不是直接告诉你ViewGroup和View应该如何三部曲,而是以DecorView从上往下,从代码的逻辑分析了绘制流程,不客气区分View 、ViewGroup,更加易懂
2016-08-25 10:42:13 926
原创 Android进阶系列6-从DecorView开始的View绘制流程
View由ViewRoot完成三大流程。在ActivityThread中,当Activity对象被创建完毕后,DecorView会被添加到Window中,同时创建ViewRootImpl的对象,将其和DecorView关联。View的绘制流程由ViewRoot的performTraversals()方法调用performMeasure,performLayout,performDraw完成顶级View的绘制
2016-08-24 15:33:58 598
原创 Android进阶系列5—从LayoutInflater到setContentView的setContentView
Android进阶系列4—从LayoutInflater到setContentView的setContentView。让你知道setContentView之后都发生了什么,也让你知道Activity默认的视图结构是什么。不仅仅是你加载进来的布局,还有其他父布局的存在。
2016-08-22 10:17:18 538
原创 Android进阶系列4—从LayoutInflater到setContentView的LayoutInflater
N天前博主面试的时候,面试官问我TextView是如何加载到界面上的。博主说LayoutInflator,interviewer问怎么操作的呢?我说:记不得了。。。翻看郭神的博客,发现早在14年底,我就在他的Android LayoutInflater原理分析,带你一步步深入了解View(一)里面有留言,可能是当时too young,对郭神的讲解不知所云,时隔一年多再看,觉得博主很会讲课,通俗易懂。
2016-08-21 15:18:03 609
原创 Android开源框架分析1—下拉刷新&加载更多实现方式详解
之前项目中用过一些下拉刷新&加载更多的框架,但是只知道怎么用,没去看过他们怎么实现的。这两天抽空看了些博客,自己也找了些开源框架看了下,对下拉刷新&加载更多有个初步的认识,在这里和大家分享下。 本文的诞生离不开Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能,Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件,johannilsson/and
2016-08-19 08:21:08 1483
原创 Android进阶系列3—再说View的事件分发
在Android进阶系列1—View的事件分发体系,在这一篇的基础上,博主做的一次补充。一个知识点,从大概知道,到自己能灵活运用,中间要折腾挺久。。。 事情是这样的,博主前几天在看下拉刷新和加载更多的简易框架,其中涉及到事件冲突部分,我还是有些晕乎,一怒之下,又把事件冲突拿出来端详一番,anyway,相较之前进步是有的。 同样,本文还是总结性的,不谈细节。本文的诞生要感谢,Android onT
2016-08-18 15:00:02 553
原创 Java HashMap实现原理0——从hashCode,equals说起
Object类中就有的hashCode和equals方法,在HashMap或者HashSet等结构中到底起了怎么的作用呢?读了本文你就知道——hashCode方法的存在是为了减少equals方法的调用次数,从而提高查找效率。
2016-08-12 15:44:38 862
原创 Android开源框架分析0——Volley框架详解
这两天花时间看了下Volley的源码,参考了几篇博文 Android Volley完全解析(四),带你从源码的角度理解Volley,Volley 源码解析,谷歌Volley网络框架讲解——网络枢纽等,有一点自己小小的心得体会,在此写出来和大家分析。1.基本网络请求操作封装既然是网络框架,最重要的当是网络请求相关操作的处理,在没有网络请求框架的时候,我们是利用最基本的HttpClient和HttpUR
2016-08-11 19:55:00 404
原创 Android进阶系列2-Activity启动模式
今天了解了下Activity启动模式,网上的文章多以代码测试结果为结论,结合Android源码讲解的比较少,罗升阳大神有关于源码的一些分析,并告诉我们谷歌告诉我们“make sure to test the usability of the activity during launch“。。。学习了几篇文章:http://www.cloudchou.com/android/post-768.html
2016-08-09 18:24:03 417
原创 Android进阶系列1—View的事件分发体系
本文主要基于《 Android触摸屏事件派发机制详解与源码分析一(View篇)》系列,《 自定义View系列教程06–详解View的Touch事件处理》以及《Android开发艺术探索-View的事件分发机制》三部分的内容的自我总结。 本文自上而下阐述View的事件从Activity开始的分发过程,阐述过程和相关结论,对细节不做过多分析,感兴趣的同学可以参考上述三部分内容。Activity的事件分
2016-08-08 10:10:45 455
原创 Android进阶系列0—View的工作流程:measure,layout,draw小结
本文主要来自《Android开发艺术探索》和郭霖 《Android视图绘制流程完全解析,带你一步步深入了解View(二)》 两部分的综合理解。 本文只阐述流程,不讲述细节,大家可以结合上述两部分的细节看。如有问题,欢迎大家在评论区指出,谢谢! View由ViewRoot完成三大流程。在ActivityThread中,当Activity对象被创建完毕后,DecorView会被添加到Window中,
2016-08-05 19:49:38 880
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人