午后一小憩

371
获赞数
3
关注数
838
粉丝数
上海
剑桥大学 | 未知
IP 属地未知
2014-09-06 加入
浏览 31.8k

微信公众号:Android补给站

2,898 声望|专家
全站排名超越 99.49% 用户
android
2.6k
java
671
前端
462
kotlin
385
javascript
215
个人动态
  • 发布了文章2020-11-19
    Kotlin协程实现原理:Suspend&CoroutineContext
    今天我们来聊聊Kotlin的协程Coroutine。如果你还没有接触过协程,推荐你先阅读这篇入门级文章What? 你还不知道Kotlin Coroutine?如果你已经接触过协程,相信你都有过以下几个疑问:协程到底是个什么东西?协程的suspend有什么作用,工作原理是怎样的?协程中的一些关...
  • 发布了文章2020-10-29
    动态代理分析与仿Retrofit实践
    我们一直都在使用Retroift,都知道它的核心是动态代理。例如在之前的文章重温Retrofit源码,笑看协程实现中也简单提及到动态代理(来填之前挖的坑...)。咳咳,大家不要关注起因,还是要回归当前的内容。这次主要是来分析一下动态代理的作用与实现原理。既然都已经分析...
  • 发布了文章2020-09-22
    重温Retrofit源码,笑看协程实现
    最近回归看了一下Retrofit的源码,主要是因为项目接入了协程,所以想研究一下Retorift是如何支持协程的。Retrofit是在Version 2.6.0开始支持协程的,所以本篇文章有关Retrofit的源码都是基于2.6.0的。
  • 发布了文章2020-09-11
    Android Startup实现分析
    Android Startup提供一种在应用启动时能够更加简单、高效的方式来初始化组件。开发人员可以使用Android Startup来简化启动序列,并显式地设置初始化顺序与组件之间的依赖关系。 与此同时,Android Startup支持同步与异步等待、手动控制依赖执行时机,并通过有向无环...
  • 发布了文章2020-08-05
    我为何弃用Jetpack的App Startup?
    最近Jetpack又添加了新成员App Startup,官方声明这是一个在Android应用启动时,针对初始化组件进行优化的依赖库。本人第一次听到后非常高兴,因为自己负责的项目在启动时需要初始化的东西实在是太多,而且有点杂乱无章,都耦合在一起了。对于可以异步初始化的组件也...
  • 发布了文章2020-07-17
    Android Hilt实战初体验: Dagger替换成Hilt
    在组件化AwesomeGithub项目中使用了Dagger来减少手动依赖注入代码。虽然它能自动化帮我们管理依赖项,但是写过之后的应该都会体会到它还是有点繁琐的。项目中到处充斥着Component,这让我想起了传统MVP模式的接口定义。
  • 发布了文章2020-07-13
    从零开始的Flutter之旅: MethodChannel
    往期回顾 从零开始的Flutter之旅: StatelessWidget 从零开始的Flutter之旅: StatefulWidget 从零开始的Flutter之旅: InheritedWidget 从零开始的Flutter之旅: Provider 从零开始的Flutter之旅: Navigator 在flutter_github有这么一个场景:通过authorization认证方式...
  • 发布了文章2020-06-28
    从零开始的Flutter之旅: Navigator
    往期回顾 从零开始的Flutter之旅: StatelessWidget 从零开始的Flutter之旅: StatefulWidget 从零开始的Flutter之旅: InheritedWidget 从零开始的Flutter之旅: Provider 这篇文章是从零开始系列的第五期,前面我们讲到了Widget与结合数据共享的Provider处理。 这次我...
  • 发布了文章2020-06-22
    从零开始的Flutter之旅: Provider
    往期回顾 从零开始的Flutter之旅: StatelessWidget 从零开始的Flutter之旅: StatefulWidget 从零开始的Flutter之旅: InheritedWidget 在上篇文章中我们介绍了InheritedWidget,并在最后引发出一个问题。 虽然InheritedWidget可以提供共享数据,并且通过getElementFor...
  • 发布了文章2020-06-09
    从零开始的Flutter之旅: InheritedWidget
    往期回顾 从零开始的Flutter之旅: StatelessWidget 从零开始的Flutter之旅: StatefulWidget 在之前的文章中,介绍了StatelessWidget与StatefulWidget的特性与它们的呈现原理。 这期要聊的是它们的另一个兄弟InheritedWidget。 特性 InheritedWidget是Flutter中的一个...
  • 发布了文章2020-03-16
    从零开始的Flutter之旅: StatefulWidget
    往期回顾 从零开始的Flutter之旅: StatelessWidget 在之前的文章中,我们介绍了StatelessWidget的特性与它在Flutter中的呈现原理。 这次我们接着来聊聊它的兄弟StatefulWidget,俗称有状态小部件。 特性 如果你看了我之前的文章,你可能已经非常熟悉无状态小部件Stat...
  • 发布了文章2020-03-07
    从零开始的Flutter之旅: StatelessWidget
    小部件是Flutter应用程序的基本构建模块,每一个都是不可变的声明,也是用户界面的一部分。例如button,text,color以及布局所用到的padding等等。
  • 发布了文章2020-01-31
    AwesomeGithub组件化探索之旅
    之前一直听说过组件化开发,而且面试也有这方面的提问,但都未曾有涉及具体的项目。所以就萌生了基于Github的开放Api,并使用组件化的方式来从零搭建一个Github客户端,起名为AwesomeGithub。
  • 发布了文章2019-10-28
    Android Navigation的四大要点你都知道吗?
    在JetPack中有一个组件是Navigation,顾名思义它是一个页面导航组件,相对于其他的第三方导航,不同的是它是专门为Fragment的页面管理所设计的。它对于单个Activity的App来说非常有用,因为以一个Activity为架构的App页面的呈现都是通过不同的Fragment来展示的。所以...
  • 发布了文章2019-08-15
    WorkManager从入门到实践,有这一篇就够了
    前言 上一次我们对Paging的应用进行了一次全面的分析,这一次我们来聊聊WorkManager。 如果你对Paging还未了解,推荐阅读这篇文章: Paging在RecyclerView中的应用,有这一篇就够了 本来这一篇文章上周就能够发布出来,但我写文章有一个特点,都会结合具体的Demo来进...
  • 发布了文章2019-07-31
    Paging在RecyclerView中的应用,有这一篇就够了
    前言 AAC是非常不错的一套框架组件,如果你还未进行了解,推荐你阅读我之前的系列文章: Android Architecture Components Part1:Room Android Architecture Components Part2:LiveData Android Architecture Components Part3:Lifecycle Android Architecture Compo...
  • 发布了文章2019-07-17
    只需三步实现Databinding插件化
    首先为何我要实现Databinding这个小插件,主要是在日常开发中,发现每次通过Android Studio的Layout resource file来创建xml布局文件时,布局文件的格式都没有包含Databinding所要的标签<layout>。导致的问题就是每次都要重复手动修改布局文件,添加<layout...
  • 发布了文章2019-06-28
    What? 你还不知道Kotlin Coroutine?
    今天我们来聊聊Kotlin Coroutine,如果你还没有了解过,那么我要提前恭喜你,因为你将掌握一个新技能,对你的代码方面的提升将是很好的助力。
  • 发布了文章2019-06-10
    Android Gradle系列-进阶篇
    上篇文章我们已经将Gradle基础运用介绍了一遍,可以这么说,只要你一直看了我这个Gradle系列,那么你的Gradle也将过关了,应对正常的工作开发已经不成问题了。
  • 发布了文章2019-05-30
    Gradle系列-运用篇
    在app module下的gradle.build中都有一个android闭包,主要配置都在这里设置。例如默认配置项:defaultConfig;签名相关:signingConfig;构建变体:buildTypes;产品风格:productFlavors;源集配置:sourceSets等。