自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 工作、开源两不误:Git多账号管理

由于 Git 所具有的巨大优越性,越来越多的公司以及个人开始由 Svn 转向 Git 。一般来讲,每位员工都会被分配给一个公司内部的邮箱。比如一个 996 公司的员工 “张三”,获得的可能就是一个 “[email protected]” 的邮箱。比较规范的公司,就会要求我们使用自己的名字和公司所分配给自己的这个邮箱来配置 Git(姓名和邮箱可以不用引号括起来):git config --glo...

2019-04-14 17:19:40 460

原创 RxJava2.x源码解析(二): 线程切换

上一篇文章Rxjava2.x源码解析(一): 订阅流程中我们讲了 RxJava2 的订阅部分的源码。但 RxJava2 最强大的部分其实是在异步。默认情况下,下游接收事件所在的线程和上游发送事件所在的线程是同一个线程。接下来我们在上一篇文章的示例代码中加入线程切换相关代码: // 上游 observable Observable<Integer> obs...

2019-05-21 09:37:33 99

原创 Rxjava2.x源码解析(一): 订阅流程

现在网上已经有大量的源码分析文章,各种技术的都有。但我觉得很多文章对初学者并不友好,让人读起来云里雾里的,比源码还源码。究其原因,是根本没有从学习者的角度去分析。在自己完成了源码阅读之后,却忘记了自己是如何一步步提出问题,进而走到这里的。所以,我想在本篇及以后的文章中,花更多的精力去进行源码的分析,争取用浅显易懂的语言,用适合的逻辑去组织内容。这样不至于陷入源码里,导致文章难懂。尽量让更多的人愿...

2019-05-21 09:16:15 93

原创 LiveData && ViewModel 使用详解

前言在之前的文章中,我们讲了Android Architecture components 中的 Lifecycle 组件的详细使用以及源码解析。本篇将介绍另外AAC中另外两个组件:LiveData 和 ViewModel,它们的实现也都是利用了 Lifecycle。什么是 LiveDataLiveData 是一个可观测的数据持有类,但是不同于通常的被观察者,LiveData 具有生命周期感...

2019-04-14 17:18:09 385

原创 生命周期组件 Lifecycle 源码解析(二)

上篇文章中我们以继承自 AppCompactActivity 这种情况来分析 Lifecycle 的源码。本篇,我们将一起来分析下继承自普通 Activity 这种情况下的源码分析。support library 27.0.0与 28.0.0 下使用的区别之前说道,我们如果不继承自 AppCompactActivity ,就只能自己手动在各 Activity 的生命周期方法中调用 markSt...

2019-04-14 16:56:36 154

原创 生命周期组件 Lifecycle 源码解析(一)

在上篇文章:Android 生命周期组件 Lifecycle 使用详解中,我们讲了 Lifecycle 的简单使用,本篇我们来研究下它的源码。基础环境搭建首先,按照上篇文章所讲,快速搭建环境。添加 Lifecycle 轻量级依赖库: implementation "android.arch.lifecycle:runtime:1.1.1"添加support library 28....

2019-03-05 15:40:51 177

原创 Android生命周期组件 Lifecycle 使用详解

前言2018 年的 Google I/O 大会上,Google 发布了 Android Jetpack,并称其为下一代的 Android 组件,旨在帮助开发者加快应用开发速度。准确来讲,Jetpack 是一系列 Android 软件组件的集合,它包括基础组件、架构组件、行为组件、界面组件。其中的 Android Architecture Components 指的就是这里的 “架构组件”。...

2019-02-28 11:02:53 369

原创 论搜索方法?低效的你简直在浪费生命(三)(终结篇)

本篇我们将学习逆向图片搜索和 Google 的高级搜索功能,同时,本篇也是该系列的完结篇。逆向图片搜索平时我们想要搜索图片,大都是在搜索主页切换到图片那个 Tab 项,然后输入图片的关键字,比如“ 美女 ”、“ 鸟 ”。何为逆向搜索呢?就是我们手里有一张图片(可以是本地的,也可以是已知的某个网络上的链接地址),反过来,想知道跟这张图片有关的信息。因为跟我们正常搜索图片的方式相反,所以称之为“ ...

2019-02-03 00:48:21 114

原创 论搜索方法?低效的你简直在浪费生命(二)

上篇文章中我们学习了 Google 的一些初级使用。这一篇文章我将带大家学习它的更多好玩儿的、进阶的用法。(除非特别说明,以下均不包含双信号,加粗部分即为输入进搜索框中的内容),本篇开启多图流量预警。搜索小技巧使用 “ $ ”,搜索特定价格比如我们搜索价格为400美元的相机 “camera $400”使用“ .. ”,搜索指定范围内的数字比如,搜索价格在 400~800 美元的相机 “...

2019-02-03 00:45:47 84

原创 论搜索方法?低效的你简直在浪费生命(一)

现如今,我们无无时无刻不在互联网上进行着搜索行为,我觉得搜索是一个人最重要的技能。所谓搜索,“就是在正确的地方使用正确的工具和正确的方法寻找正确的内容”。学会搜索,能极大的让我们从互联网上庞大信息中快速定位到对我们有用的信息,提高效率和准确率。在实际生活中,我发现很多人并不懂得搜索,这也是我下决心写作本文的初衷。这里我们使用最优秀的搜索引擎(没有之一)Google 来学习搜索,其他搜索引擎也大同...

2019-02-03 00:42:27 148

原创 Android Studio 常用快捷键(windows下)

Ctrl + P : 放在函数括号内的时候,是显示参数列表提示Ctrl+Alt+V : 提取局部变量Ctrl+Alt+F : 提取全局变量Shit+Alt+M : 提取方法

2016-11-21 14:14:05 303

原创 ListView 异步加载并使用LruCache进行缓存

这篇文章是根据慕课网上的ListView的视频讲解做的练习:1.视频链接:http://www.imooc.com/video/78712.json数据获取地址:http://www.imooc.com/api/teacher?type=4&num=30数据格式截图:                                  app效果展示:

2016-09-05 16:43:09 297

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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