- 博客(298)
- 资源 (12)
- 收藏
- 关注

原创 Android进阶三部曲第三部《Android进阶指北》已出版
大家久等了,这本书的出版简直是太艰辛了,从2018年6月开始写,2020年1月完稿,直到2020年9月才出版,从开始写到出版耗时2年多啊,具体原因不想说了,都是泪啊,要不今年4月就出版了。这本书是Android进阶三部曲的第三部,书名叫《Android进阶指北》,内容算是对前两本的补充。其实我一直想在书中建立一个知识体系,但是凭借进阶之光和进阶解密是形成不了成规模的知识体系的,而进阶指北的出版将会打破这一点,三本书初步形成了知识体系,即Android进阶三部曲知识体系。我在进阶指北中的开头加入了序章,就叫
2020-09-22 21:18:45
5223
9

原创 Android进阶三部曲 第二部《Android进阶解密》已出版(内含勘误)
独立博客版本请点击这里Android进阶二部曲第一部《Android进阶之光》介绍 :点击这里本书源码地址:https://github.com/henrymorgen/android-advanced-decode为什么写这本书Android进阶二部曲包括《Android进阶之光》和本书,因此写这本书的原因和《Android进阶之光》有些关联,主要有以下几点:《Android进阶之...
2018-10-17 12:46:30
19268
20

原创 Android进阶三部曲 第一部《Android进阶之光》已出版(内含勘误)
2016年我开始建立了自己的知识体系,所有的文章都是围绕着这个体系来写,随着这个体系的慢慢成长,开始有很多出版社联系我写书,因为比较看好电子工业出版社,就顺理成章的开始了《Android进阶之光》这本书的编写。写作过程中并没有遇到什么困难,就是书名一直确定不下来,后来受到了《运营之光》的启发,这本书的名字才最终确定下来,寓意就是为Android开发者的进阶之路带来指引和光明。
2017-07-05 23:21:26
29599
58

原创 我的独立博客 http://liuwangshu.cn
我的独立博客地址为:http://liuwangshu.cn。虽然有了独立博客,但我还会继续在CSDN、简书中持续更新我的文章。独立博客收入了我精选的上百篇文章,在电脑和手机上都有着良好的阅读体验,欢迎大家关注。
2017-04-13 13:29:54
9694
7

原创 Android应用开发最强原创知识体系(更新至2019.11.21)
前言为了方便大家的阅读以及自己的知识体系的建立,特意来写出这个引导文章。以前我是遇到什么写什么,想到什么写什么,从2016年开始我将围绕这个知识体系来写文章,从点到面来逐步建立并完善自己的知识体系,同时也欢迎大家关注我的博客。 想要查看更清晰的知识体系,请移步到 http://liuwangshu.cn/system1.Android应用层Android网络编程(完结)
2016-02-22 15:45:38
34341
21
原创 进阶三部曲第一部《Android进阶之光》第2版已出版
本文首发于微信公众号「刘望舒」其实《Android进阶之光》第二版已经在2021年10月就出版了,但是今天才发现,我去,没在掘金发文,今天补上~~ 以下是正文其实不打算出《Android进阶之光》第二版的,起初觉得意义不大,但是看到现在仍旧有很多人看《Android进阶之光》第一版,而里面的内容又有点过时了。还有一个原因是Android进阶三部曲摆在书架上,《Android进阶之光》就显得特别的突兀,也有很多读者也跟我一样的感觉,说强迫症犯了,一看摆在书架上的书高低不同就很难受。因此《Android.
2022-02-15 11:31:08
6436
5
原创 都2021年了,是时候安装Ubuntu了!
本文首发于微信公众号「刘望舒」这是BATcoder的第三篇,BATcoder是Android进阶三部曲的番外篇,会对Android进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。本文应该是我最近几年写过最简单的文章了,但是只要能帮助一些人,那就是有用的。在Android进阶三部曲第二部《Android进阶解密》的第一章,我介绍了两种阅读源码的方式,其中一种是从百度网盘:https://pan.baidu..
2021-04-26 05:14:38
2567
3
原创 Android开发如何高效学习系统底层原理
本文首发于微信公众号「刘望舒」大家好,我是刘望舒,I’m back!最近分享了一些视频,都属于望舒杂谈,望舒杂谈会分享一些经验,什么都会聊。除了望舒杂谈还有另一个视频分支叫做BATcoder,什么是BATcoder呢?它是Android进阶三部曲的番外篇,会对Android进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。这篇是BATcoder的第二个视频,来聊聊应用开发如何高效学习系统叠层源码,注意是给应用.
2021-04-06 11:20:14
2627
3
原创 寒冬已至!视频聊聊四面楚歌的Android工程师该何去何从?
大家好,我是刘望舒,I’m back!最近分享了一些视频,都属于望舒杂谈,望舒杂谈会分享一些经验,什么都会聊。除了望舒杂谈还有另一个视频分支叫做BATcoder,什么是BATcoder呢?它是Android进阶三部曲的番外篇,会对Android进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。这篇是BATcoder的第一个视频,不过这次不会分享技术,而是和大家聊聊Android工程师该何去何从。视频版本视频版本:
2020-11-30 07:26:07
2190
2
原创 写一本技术书到底有多赚?实话告诉你200万轻轻松松!
视频版本视频版本,欢迎大家去B站三连~http://liuwangshu.cn/show/book-money.html皇叔,听说你写了三本畅销书赚了几百万?哎?我怎么不知道我赚了这么多,不够你能给我补补?前年有粉丝得知我北京买房了,说你写书赚那么多啊,我心里纳闷,这房子2016年买的,第一本书是在2017年出版的,我又没有时光机。今年我又买了辆奔驰,又有群友说,大家赶紧买书啊,助力皇叔换玛莎拉蒂。嗯,助力我买个模型玛莎拉蒂还是可以的。最近联系了一个前同事,他在阿里上班,问我是不是全职写书呢?写
2020-11-24 18:04:20
4341
9
原创 腾讯面试官:了解Java Binder中的系统服务吗?
本文首发于微信公众号「后厂技术官」关联系列Android AOSP基础系列Android系统启动系列应用进程启动系列Android深入四大组件系列Android深入理解Context系列Android深入理解JNI系列Android解析WindowManagerAndroid解析WMS系列Android解析AMS系列Android包管理机制系列Android输入系统系列...
2020-03-30 23:01:15
1949
1
原创 腾讯面试官:Binder的系统服务是如何获取的?
本文首发于微信公众号「后厂村码农」关联系列Android AOSP基础系列Android系统启动系列应用进程启动系列Android深入四大组件系列Android深入理解Context系列Android深入理解JNI系列Android解析WindowManagerAndroid解析WMS系列Android解析AMS系列Android包管理机制系列Android输入系统系列...
2020-02-26 01:00:10
1623
原创 Android Binder原理(四)ServiceManager的启动过程
本文首发于微信公众号「后厂技术官」关联系列Android AOSP基础系列Android系统启动系列应用进程启动系列Android深入四大组件系列Android深入理解Context系列Android深入理解JNI系列Android解析WindowManagerAndroid解析WMS系列Android解析AMS系列Android包管理机制系列Android输入系统系...
2020-02-07 04:01:34
1978
原创 Android Binder原理(三)系统服务的注册过程
关联系列Android AOSP基础系列Android系统启动系列应用进程启动系列Android深入四大组件系列Android深入理解Context系列Android深入理解JNI系列Android解析WindowManagerAndroid解析WMS系列Android解析AMS系列Android包管理机制系列Android输入系统系列本文首发于微信公众号「后厂技术官」...
2020-02-07 03:58:32
2153
原创 Android Binder原理(二)ServiceManager中的Binder机制
本文首发于微信公众号「后厂技术官」前言在上一篇文章中,我们了解了学习Binder前必须要了解的知识点,其中有一点就是Binder机制的三个部分:Java Binder、Native Binder、Kernel Binder,其中Java Binder和Native Binder都是应用开发需要掌握的。Java Binder是需要借助Native Binder来工作的,因此需要先了解Nat...
2020-01-12 18:33:46
2076
2
原创 Android Jetpack架构组件(六)一文带你了解ViewModel的使用和原理
本文首发于微信公众号「后厂技术官」前言在本系列的第4和第5篇文章中,介绍了LiveData的使用和原理,LiveData和ViewModel是一对好搭档,这篇文章我们一起来学习什么是ViewModel、ViewModel基本使用、ViewModel的原理。1.什么是ViewModel在说ViewModel前,我们需要解一下MVVM和DataBinding,在Android进阶三部曲第...
2020-01-12 18:24:10
2568
3
原创 Android Jetpack架构组件(五)带你了解LiveData(原理篇)
本文首发于微信公众号「后厂技术官」前言在上一篇文章中我们学习了LiveData的基本用法,我们知道LiveData是一个可观察的数据持有者,他是具有组件生命周期感知的,那么它是如何观察组件生命周期变化的呢?LiveData和RxJava的不同的是,LiveData并不是通知所有观察者,它只会通知处于Active状态的观察者,如果一个观察者处于DESTROYED状态,它将不会收到通知,这...
2020-01-12 17:51:35
1229
原创 Android进阶三部曲 第三部《Android进阶指北》已完稿
今天说两件事,一个是第三本书完稿,一个是本公众号改名。1.第三本书《进阶指北》今天完稿了耗时1年半,我的第三本书《进阶指北》终于在今天完稿了。前两本书每本都是耗时1年左右,完成这本书的时间增加了些,主要还是自己懒癌犯了,这里跟大家说声抱歉,让大家久等了。稿件会在下周一交由出版社进行审核,后面的时间就不是我可控的了。电子工业出版社作为国内顶级的出版社,图书出版审核越来越严,如果三校三审不过的话...
2020-01-12 09:41:42
5621
5
原创 Android Jetpack架构组件(四)一文带你了解LiveData(使用篇)
本文首发于微信公众号「后厂村码农」前言在2017年前后,RxJava一直很火,我在Android进阶三部曲第一部《Android进阶之光》中就介绍了RxJava的使用和原理。谷歌推出的LiveData和RxJava类似,也是基于观察者,你可以认为LiveData是轻量级的RxJava。起初LiveData并不被看好,随着谷歌的大力推广,LiveData也慢慢的进入了大家的视野。一般来说,...
2019-11-20 08:01:11
1731
1
原创 Android Jetpack架构组件(三)一文带你了解Lifecycle(原理篇)
本文首发于微信公众号「后厂村码农」前言在上一篇文章中,我们学习了如何去使用Lifecycle,当然之会使用是不够的,还需要了解它的原理,这是成为优秀工程师必备的。这篇文章就来学习Lifecycle的基本原理。1.Lifecycle的生命周期状态事件和状态Lifecycle使用两个枚举来跟踪其关联组件的生命周期状态,这两个枚举分别是Event和State。State指的是Lifecy...
2019-11-20 07:59:52
2494
1
原创 Android Gradle (二)签名配置和依赖管理
本文首发于微信公众号「后厂村码农」相关文章Gradle核心思想(一)为什么现在要用Gradle?Gradle核心思想(二)Gradle入门前奏Gradle核心思想(三)Groovy快速入门指南Gradle核心思想(四)看似无用,实则重要的Gradle WrapperGradle核心思想(五)通俗易懂的Gradle插件讲解Gradle核心思想(六)自定义Gradle插件的三种方式...
2019-10-29 07:40:07
1590
原创 Android Jetpack架构组件(二)一文带你了解Lifecycle(使用篇)
本文首发于微信公众号「后厂村码农」前言在上一篇文章中,我们基本了解了什么是Android Jetpack,这一篇文章来介绍Android Jetpack架构组件的Lifecycle,Lifecycle用于帮助开发者管理Activity和Fragment 的生命周期,由于Lifecycle是LiveData和ViewModel的基础,所以需要先学习它。1.为什么需要Lifecycle在...
2019-10-29 06:39:50
2260
原创 Android Binder原理(一)学习Binder前必须要了解的知识点
本文首发于微信公众号「后厂村码农」关联系列Android AOSP基础系列Android系统启动系列应用进程启动系列Android深入四大组件系列Android深入理解Context系列Android深入理解JNI系列Android解析WindowManagerAndroid解析WMS系列Android解析AMS系列Android包管理机制系列Android输入系统系...
2019-10-24 00:29:41
3085
2
原创 Android Jetpack架构组件(一)带你了解Android Jetpack
本文首发于微信公众号「后厂村码农」前言Android已经发展了11年,可以说是比较成熟的技术了,一开始时框架很少,也没有什么规范,所有的代码都是要自己写,比如网络请求,数据库请求,数据解析等等。后来出现了一些框架来帮助开发者快速进行开发,比如XUtils、Volley、OKHttp、EventBus等,随着框架越来越多,一个应用可以有多种技术选型,直接导致应用开发越来越不规范,导致做出来的...
2019-10-24 00:27:58
6980
原创 Flutter基础(十三)Flutter与Android的相互通信
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言本来这篇文章应该讲一下Flutter的插件开发,但是在插件开发的基础是PlatformChannel,也就是Flutter与Android/iOS Native的通信,理解了这一个知识点,Flutter的插件开发也就不在话下。1.PlatformChannel概述Flu...
2019-08-20 00:22:08
3461
1
原创 Flutter基础(十二)路由(页面跳转)与数据传递
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言在Android开发中我们使用Intent来进行页面跳转,也称之为原生路由,后来出现了一些路由框架,比如ARouter。在Flutter中进行界面跳转的就是路由,路由用Route类来进行表示,Navigator是对Route进行管理的Widget。这一篇文章我们来学习路由...
2019-08-20 00:20:36
1014
1
原创 Flutter基础(十一)网络请求(Dio)与JSON数据解析
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言在Android开发中如果我们想要请求网络,可以使用HttpClent、HttpURLConnection,但在项目中一般都会使用OkHttp和Retrofit。在Flutter也是如此,系统提供了HttpClient,但在项目中一般会使用第三方库,比如http和Dio,如...
2019-08-20 00:19:15
9463
1
原创 "Flutter基础(十)布局Widget快速入门
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言Flutter的布局在此前的文章多多少少用过,但是没有具体讲过,Flutter的布局实际上也由Widget来控制的,在Flutter官网上并没有对布局Widget进行分类,这里将布局Widget根据子元素排列方式分为以下几种:线性布局Widget流式布局Widget...
2019-08-20 00:01:53
789
1
原创 Flutter基础(九)资源和图片
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列和Android开发一样,Flutter也有asset这一概念,asset是打包到程序安装包中的,可在运行时访问。常见的asset类型包括静态数据(例如JSON文件)、配置文件、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)。本文会通...
2019-08-20 00:00:22
1928
1
原创 Flutter基础(八)手势相关Widget:GestureDetector和Dismissible
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言移动开发中,用户交互是一个重要的环节,在Android中的触摸、点击、滑动等事件处理都提供了相关的Api,在Flutter中也是一样的,是由Widget来实现的。Flutter中的手势系统有两个独立的层。第一层是原始指针事件(pointer events),它描述了屏幕上指...
2019-08-19 23:59:27
950
原创 Flutter基础(七)Scrolling Widget之ListView、GridView、PageView
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言我们知道Widget的分类有很多种,比如:Basics、Material Components、Cupertino、Scrolling等等,在前面的文章我介绍了Basics和Material Components,这一篇讲一下Scrolling分类中比较常用的ListVie...
2019-08-19 23:57:30
1115
原创 Android AOSP基础(五)Android Studio调试系统源码的三种方式
本文首发于微信公众号「刘望舒」关联系列Android AOSP基础系列Android系统启动系列应用进程启动系列Android深入四大组件系列Android深入理解Context系列Android深入理解JNI系列Android解析WindowManagerAndroid解析WMS系列Android解析AMS系列Android包管理机制系列Android输入系统系列前...
2019-08-19 23:55:44
5555
5
原创 Flutter基础(六)Material组件之BottomNavigationBar、TabBar、Drawer
本文首发于公众号「刘望舒」ReactNative入门系列React Native组件Flutter基础系列前言在上一篇 Flutter基础(五)Material组件最佳入门(前篇)中,我介绍了Material组件的MaterialApp、Scaffold、AppBar,这篇文章接着介绍Material组件中的BottomNavigationBar、TabBar、Drawer。1....
2019-07-29 20:52:09
1162
1
原创 Flutter基础(五)Material组件之MaterialApp、Scaffold、AppBar
本文首发于公众号「刘望舒」关联系列ReactNative入门系列React Native组件Flutter基础系列前言在上一篇文章Flutter基础(四)开发Flutter应用前需要掌握的Basics Widget,我们学习了Basics Widget,除了Basics Widget,我们还需要了解Material Components,也就是Material组件。它提供了实现M...
2019-07-29 20:50:22
11083
原创 Flutter基础(四)开发Flutter应用前需要掌握的Basic Widget
本文首发于公众号「刘望舒」关联系列ReactNative入门系列React Native组件Flutter基础系列前言学完了Dart语言,接下来就可以学习Widget了,Flutter的UI界面就是由Widget组成的,Widget的数量繁多,因此我会用几篇文章来专门介绍它,本篇就来介绍Basics Widget。1.什么是WidgetFlutter的Widget的设计灵感来...
2019-07-29 20:45:25
1497
2
原创 Flutter基础(三)Dart快速入门
本文首发于公众号「刘望舒」关联系列ReactNative入门系列React Native组件Flutter基础系列前言Dart是Flutter SDK指定的语言,因此要学习Flutter,Dart是必须掌握的。关于Dart可以写一本书了,这里用一篇文章来介绍下Dart的精髓,带你快速入门。和Java语言类似的部分,这篇文章就尽量不再讲了。1. Dart开发环境搭建学习Dart...
2019-07-10 01:51:03
1665
原创 Flutter基础(二)Flutter开发环境搭建和Hello World
本文首发于公众号「刘望舒」关联系列ReactNative入门系列React Native组件Flutter基础系列前言其实没想写Flutter的相关文章的,因为这些看官方文档就够了,但是有不少同学就想看我写的,因此我也写个Flutter系列,顺便自己也梳理下知识点。这个Flutter基础系列是Flutter系列的入门系列,后面还会有其他的Flutter系列。既然要学习Flutte...
2019-07-10 01:49:17
1388
原创 Flutter基础(一)移动开发跨平台技术的百家争鸣
本文首发于微信公众号「刘望舒」前言本来这一篇应该介绍如何搭建Flutter开发环境的,但我想在了解Flutter前,不妨了解一下跨平台技术的演进,这样更有助于学习Flutter,也能认清Flutter的优势和本质。这篇文章还有一个目的,就是希望大家是玩技术的人,而不是被技术玩的人,对于不同的技术要有自己的判断。1. 跨平台技术的诞生我是2010年开始从事的Android开发,当时会An...
2019-04-23 12:04:35
8151
3
原创 Android输入系统(四)输入事件是如何分发到目标窗口的?
关联系列解析WindowManager系列解析WMS系列深入理解JNI系列输入系统系列基于Android 8.1前言在Android输入系统(三)InputReader的加工类型和InputDispatcher的分发过程这篇文章中,由于文章篇幅的原因,InputDispatcher的分发过程还有一部分没有讲解,这一部分就是事件分发到目标窗口的过程。1. 为事件寻找合适的分发目标...
2019-04-05 01:33:57
1654
1
原创 Android Gradle (一)Gradle的Android插件入门
相关文章Gradle核心思想(一)为什么现在要用Gradle?Gradle核心思想(二)Gradle入门前奏Gradle核心思想(三)Groovy快速入门指南Gradle核心思想(四)看似无用,实则重要的Gradle WrapperGradle核心思想(五)通俗易懂的Gradle插件讲解Gradle核心思想(六)自定义Gradle插件的三种方式前言在Gradle核心思想这个系列中...
2019-04-05 01:31:43
3004
1
MyTabLayout2
2015-12-27
MyTabLayout
2015-12-27
MoonToolbar2
2015-12-04
MoonToolbar
2015-12-02
MyNotification
2015-11-29
MyCardView2
2015-11-27
RecyclerView
2015-11-25
MyRecyclerView
2015-11-25
Gson免费下载(包含开发包,源码,文档)
2015-04-21
GSON免费下载
2015-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人