自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 一篇文章弄懂 RxJava

前言 RxJava 是 ReactiveX 在 Java 上的一个实现.官网为: http://reactivex.io/ 笔者是一个做 Android 的开发者,RxJava 从入门到现在的水平已经过了两年的时间.其实这东西入门真的挺难的.很多人看了几篇介绍的博客就觉得自己会了.其实并不是这样的...

2019-07-23 09:05:23 362 0

原创 为什么我强烈不推荐使用 CC 组件化

前言 现在市面上出现了各种很多的组件化方案,比较知名度高的有以下几种 ARouter WMRouter ActivityRouter CC 其实不管出现几种,其实就只有两种形式的: 基于 Uri 设计的,包含了服务发现的功能 支持跨模块调用,然后实现代码自己写 CC 就是属于第二种,其他的...

2019-04-13 23:29:14 897 5

原创 Android 组件化的实现

前言 哈哈哈哈,我又回来了,小金子又回来了,好久没写博客了,是时候更新一波了 最近项目在做组件化,然后这次给大家带来组件化的实现和应用 组件化方案地址 下面这张图我们很熟悉,我们今天要做的事情就是实现如下的架构 组件化带来的问题 Act...

2018-08-17 16:33:55 1174 0

原创 Android 全面适配

前言 我们都知道哈,Android适配这块一直在困恼着我们.而之前的适配方案也很多 1.比如鸿洋的适配方案: 采用在Activity 创建转换xml的时候把系统的Layout换成自定义的,或者直接在xml中写自定义的>Layout.然后在onMeasur...

2018-06-16 09:00:38 615 0

原创 ActivityLifecycleCallbacks能做哪些事情?

前言 从Api14开始,系统在Application类中提供了一个关于Activity声明周期回调的方法(如下). 所以我们可以在一个统一的地方就可以监听到所有的Acitivy的声明周期方法的回调,这个Api特别重要,他能实现很多我们以前写的很烦的代码. 那么现在我们可以通过它实现...

2017-11-16 11:33:25 401 2

原创 如何更优雅的实现标题栏

前言 做Android这么久了,目前见过实现标题栏的方式无非两种 1.在每一个Activity的xml中include一个共有的标题栏xml,然后在Activity的生命周期方法onCreate方法中完成标题栏的初始化 2.在每一个Activity的xml中使用自己写的标题栏控件 第二种...

2017-11-10 16:23:55 515 0

原创 ButterKnife 完全解析

前言 使用 ButterKnife 也有一段时间了,还记得我们从最开始的findViewById到现在使用注解来帮我们注入控件。其实这中间还有一个使用反射实现注入的一个阶段,真是因为在追求性能和今天,ButterKnife才会被广泛的使用.那么到底ButterKnife高效在哪里?今天博主带你...

2017-08-06 16:27:46 1214 2

原创 Retrofit 源码分析流程

前言 Retrofit 框架使用了有一年多了,但是说来惭愧,一直都是处于使用的状态,不会用的地方利用百度或者谷歌搜索一下.一直没有去摸索里面的源代码.这几天我对源代码进行阅读之后,不仅理顺了Retrofit 框架的实现,而且对泛型的认识提升到了一个新的高度.因为里面很多代码是对泛型进行处理的....

2017-07-30 18:03:13 741 0

转载 GitFlow使用

这节介绍的Gitflow工作流借鉴自在nvie的Vincent Driessen。 Gitflow工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。 Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支...

2016-12-05 10:48:52 1528 0

原创 面试总结

前言以下是本人面试过程中被问到的一些问题,这里做一个记录基础普及区Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux...

2016-11-21 11:55:13 868 0

原创 ListView复用和优化之多布局详解

前言在上一篇文章中,我已经非常详细的阐述了ListView的复用原理和几个大家不太明白的地方.也同时重现了复用的问题并告诉大家如何去解决.如果你没有看上一篇,请先移步,这篇基于上一篇的知识继续讲解ListView中多布局是个什么原理ListView复用和优化详解需求:实现联系人列表的展现形式先随便...

2016-11-11 11:36:25 4353 6

原创 ListView复用和优化详解

前言 我们每一个Android开发人员对ListView的使用肯定是很熟悉的,然而多少人能真正的懂ListView的缓存机制呢,说白了就是ListView为了提高效率而内部实现的一种优化,而这种优化就需要复用ItemView(也就是item对应的View).那么下面楼主来对ListView和Re...

2016-11-09 17:09:34 14665 13

原创 Retrofit 原理 运行机制详解

阅读此篇博客,你需要备Java动态代理的知识、反射和注解相关的知识,不然你阅读可能有些困难回忆Retrofit的适应场景在使用Retrofit的时候,我们经常通常看到有一个用于请求的接口,然后使用Api api= retrofit.create(Api.class);这样子创建了以后,这个接口Ap...

2016-11-06 18:58:30 2851 0

原创 Android 属性动画详解

Component 是一个强大的、完善的组件化框架. 欢迎大家使用 请尊重别人劳动成果 转载请注明出处:http://blog.csdn.net/u011692041/article/details/51471743 前言 The property animation syst...

2016-05-21 21:47:53 3543 1

原创 Android Handler消息处理机制详解

前言 从我们学习android开始,几乎每天都在和handler打交道.有了它,我们在子线程中处理好了耗时的操作,可以利用它来更新UI.它为我们在线程间的通信提供了很大的方便,而今天博客就来详细的介绍一下Handler的消息循环机制,一步一步的了解其中的奥妙,本文不介绍Handler的详细使用,探...

2016-05-11 10:48:24 11831 6

原创 Component 组件化框架

前言 大家好, 此文用一个较详细的叙述来介绍 Android 的组件化框架 Component, 我从 17 年开始设计并且研究组件化框架的. 以及和其他框架相比, 为什么更优秀, 更好用。下文且听我细细道来~ 什么是组件化 其实最简短的介绍就是下面几件事: 代码的隔离 资源的隔离 当代码和资...

2019-11-07 11:12:29 418 0

原创 Android 开发中的一些痛点解决方案

痛点 我们团队在整个开发过程中, 会有几个很恶心的痛点, 代码不能不写, 但是写了有恶心. 所以在组件化过程中, 发现这些是可以被解决的的. 于是 Component 从最早的设计上就考虑了一些痛点 你有没有因为在 Adater 或者 Dialog 或者其他没有 Activity 的地方需要 s...

2019-10-14 15:46:33 196 0

原创 组件化为什么选择 Component 而不是 ARouter

目录前言评判标准组件化你到底想解决什么问题?除了核心问题其他的痛点路由跳转失败的降级处理路由拦截器页面拦截器全局拦截器路由接口用户自定义的部分的执行线程都是主线程获取跳转目标的 `ActivityResult` (贼好用!!!!!!)自定义目标界面的 `Intent`扩展支持 `RxJava2`请...

2019-09-16 10:57:52 323 0

原创 什么是 Android 组件化

前言 我希望阅读本片博客的童鞋都是有一定的 Android 基础的,并且近期想实施组件化方案的.希望这篇文章能帮助到你,让你知道什么是组件化,有哪些可选的方案 什么是组件化 下面这幅图相信大家平常多多少少都能看见类似的. 最下面一层是 基础组件层, 包括但不止以下方面 存储 本地存储 数据库...

2019-06-17 11:22:47 1529 5

原创 Mac有哪些软件可以显著提高生产力?

前言 个人使用 Mac 三年了,在这三年中滚打摸爬,有好几个大神教我如何提高生产力,现在我觉得我是时候分享一下啦,让刚接触 Mac 的人可以使用到一些很好的软件 首先,Mac 系统本身对于开发是非常友好的,个人本身结合了 Linux 和 Windows 的优势,对于开发人员真的是非常的友好,这句...

2019-04-26 22:22:26 608 1

原创 RxJava2 进阶之Observable 的种类及其对应的场景

目录前言Observable 的种类真实代码中如何辨别使用哪种 **Observable** 前言 这篇文章主要讲述一件事情,如何正确的定义我们程序中的 Observable, 下文中所有说到的信号,和我们常说的 RxJava发射的元素、Item、Error、Complete是同一类东西,但是我习...

2019-04-13 17:30:49 437 0

原创 Android 组件化应该做什么

前言 Android 任何一个组件化方案都要对项目进行一定程度的整改,下面会对所有需要整改的地方进行说明,以及会说到如何整改 资源文件 资源文件在准备组件化的过程中就得做,不会影响正常的开发,一旦后续需要彻底剥离的时候,就直接把对应的文件拖到指定的模块就可以了 公用的资源 一个项目中肯定有一些...

2019-04-04 09:41:45 72 0

原创 Android 组件化的使用

当前博客新地址 http://xiaojinzi.tpddns.cn:18888/post/Android组件化的使用.html 前言 其实组件化方案很多很多,让人选择也是很多很多,但是为什么每一家有技术积累的公司都会参考别人的组件化方案自己去修修改改或者自己实现一套呢?往下看吧 技术的选型 使...

2018-12-09 23:30:16 162 0

原创 转场啦

虽然 CSND 的创作的时候的编辑器很好用,但是日前显示的页面广告越来越多,自己搭建了一个. 小金子博客 欢迎光临

2018-12-05 09:25:38 1041 0

转载 mysq 配置远程登录

使用授权的方式: mysql -u root –p mysql>use mysql; mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234...

2018-09-29 18:31:24 96 0

原创 Android DataSource 层实现

前言 在 Android 日益成熟和完善的阶段,我们的项目也日益的开始注重性能和可维护性.今天要和大家聊一聊Android 项目里面的 DataSource 首先我们可以理解 DataSource 是一个单独的 Module,可以对外提供很多的数据操作 - 网络请求 - 本地的一些...

2018-09-11 09:52:53 930 0

翻译 Idea Plugin 翻译篇(1)

初始化环境 插件项目结构 Plugin Content 有两种方式让插件可以生效 都是需要放在IDEA的plugin目录中,但是一种是直接放一个.jar文件,另一种是放一个文件夹,内部有插件的.jar文件,目录结构如下 .IntelliJIDEAx0/ plugins/ s...

2018-05-11 17:22:46 1337 0

原创 测试环境请求可视化方案

前言 在我们平常的项目开发中,我们接触最频繁的就是和后台交互,请求服务器了.如果你的项目不使用加密,那么当一个手机出现问题的时候,我们可以很容易的使用各种截包工具拿到请求分析原因.但是绝大部分的项目请求的数据一般都是加密的,所以我们的截包工具就显的很鸡肋了,因为你截取到的是一堆加密后的数据...

2018-04-10 11:13:53 301 0

原创 面向对象的六大原则

前言 看书的一个笔录 单一职责原则 开闭原则 依赖倒置原则 里氏替换原则 接口隔离原则 迪米特原则 单一职责原则 这个比较简单,就是表示一个类应该明确自身的职责,通常是对于一些负责的功能进行拆分成多个类相互协同工作,让他们满足单一职责原则,切勿全部功能耦合在一个类中 ...

2018-02-15 19:23:23 116 0

原创 HTTPS 认识的总结

前言 首先特别感谢各位分享内容的博主,这里对我学习到的做一个总结 HTTPS 是什么 其实 HTTPS 就是 HTTP + SSL/TLS 的单词的缩写 SSL 是什么这里不做阐述,贴出一个某度的标准解释: 点我了解SSL(Secure Sockets Layer) 点我了...

2018-02-15 18:01:30 173 0

原创 NDK 开发之 Socket 编程

前言 socket 作为开发人员必须掌握的一个技能,今天我在Android中使用到了.并且写出了一个小例子,本片文章作为一个记录 实现流程盗用一张图: 流程中名称都是每一个步骤需要调用的函数名称/* DO NOT EDIT THIS FILE - it is machine genera...

2017-10-10 17:16:26 695 0

原创 c语言Socket相关函数简介

网络字节顺序 网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释,网络字节顺序采用big-endian排序方式 inet_aton inet_aton是一个计算机函数,功能是将一个字符串IP地址转换...

2017-10-10 09:21:30 1186 0

原创 Android 资源文件命名规范

前言 在我们开发Android的时候,肯定会用到资源文件,color,dimen,string等等,当我们项目小的时候,我们使用资源文件并没有关注使用的规范.导致项目大了以后或者ui经过几次的改版之后,资源文件中的资源名称命名很是混乱.下面我就看看其他的文章和自身的经验,来总结一下资源文件中的...

2017-09-06 15:35:56 3026 0

原创 数据结构的一些基本概念

数据 数据是描述客观事物的符号,这种符号能被计算机识别和处理,是计算机中可以操作的对象 数据元素 数据元素是组成数据的基本单位,也可以称之为记录. 数据项 数据项是不可分割的最小单位,多个数据项可以组成一个数据元素 数据对象 数据对象是数据的一个子集,是性质相同的数据元素的集合 因...

2017-09-01 17:27:44 539 0

原创 Android NDK开发之生成头文件

前言 鉴于经常忘了如何生成头文件的骚操作,这里做一个记录,同时也做一个分享.文章以Android开发工具Android Studio为例 现在你在Activity中写了一个本地方法,看下图这时候,我们找到包名所在的目录,假设是 :本人是mac系统,所以是下面的一个目录/Users/cxj/Co...

2017-08-12 22:28:29 894 0

原创 快速排序算法

快速排序每次自己写都写不出来,这回下决心每天练习一回,并且先把写好的在博客中记录一下,方便回忆 int arr[] = new int[]{38, 8, 6, 12, 88, 44, 98, 41, 38, 78, 66, 77, 33, 55, 99, 44, 55, 22, 77}; Syst...

2017-08-03 15:19:03 259 0

原创 自定义View控件之onMeasure方法详解

前言转载请注明出处! 这类的文章很多很多,其实我也是不想写的.但是说起来我虽然看了很多很多的文章,但是对于View控件的measure方法还是一知半解的.那么今天我就来做一个总结,并且解决很多人问我的一些常见的问题.下面先把一些常见的问题罗列一遍 View控件中的measure方法被父...

2017-07-25 23:12:30 3644 5

翻译 ViewStub 详解(译文)

官方原文地址 date:2017.07.23 https://developer.android.com/reference/android/view/ViewStub.html 一个ViewStub 是一个可见的,不占用大小的View,它可以在运行的时候懒加载布局资源(layout ...

2017-07-23 18:28:43 293 0

原创 Android 开发中的注意点

前言 我们平常在开发Android的时候,经常会遇见命名感觉代码是对的,但是效果确实不尽人意的时刻.其实很多时候都是自己的代码或者其他地方没有注意到引起的.所以博主把博主开发的时候遇到的坑全都记录下来,方便自己查阅也做一个分享.会不断的更新 资源文件方面 selector选择...

2017-07-12 18:33:22 237 0

转载 全键盘Vimium快捷键学习记录

那天上网看到有人在这个问题你最推荐的Chrome扩展有哪些?下提到了一大堆扩展,作为一个折腾chrome5/6年的chrome爱好者,关注这些问题就是为了发现一些自己没尝试过的扩展。大部分答案在我眼里是这样的:这个我用过,额。。挺好,这个,不行,我有比你更好的。直到看到Vimium。作为一个懒癌晚...

2017-06-17 18:30:29 504 0

提示
确定要删除当前文章?
取消 删除