Webview.apk —— Google 官方的私有插件化方案

2020-07-12
阅读 11 分钟
5.1k
在 Android 跨入 5.0 版本之后,我们在使用 Android 手机的过程中,可能会发现一个奇特的现象,就是手机里的 WebView 是可以在应用商店升级,而不需要跟随系统的。

React — 端的编程范式

2020-01-19
阅读 7 分钟
10.4k
两年前因为 antd 开始接触了这套脚手架。我的确很需要这套脚手架,对于新手来说,整合 react / redux / react-redux / react-router / react-router-redux 的确还是蛮费劲的 —— 如果像我这么偷懒,可能都没办法了解它们是什么。

Gradle Builds Everything —— Extends Android Gradle Plugin

2020-01-14
阅读 4 分钟
4.2k
这个可能是作为 Android 开发想要做插件开发的时候最关心的事,我们今天看看如何去扩展 Android Gradle Plugin(以下简称 AGP)

Gradle Builds Everything —— 从 0 开始做插件

2020-01-13
阅读 3 分钟
4.8k
我们使用 Intellij IDEA 来创建一个普通的 Gradle Java 工程。创建完成后,设置好 Gradle Wrapper,工程一开始长这样:

Gradle Builds Everything —— 产物输出

2020-01-12
阅读 3 分钟
4.8k
Gradle 打包的时候,还有个最终要的东西 —— 产物,这里的产物包括提供给别的项目的产物,今天我们来讲一讲,产物这个东西。首先,看下我们前面介绍了的 Configuration 对象,我们看下这个接口声明知道这个对象有incoming和outgoing两种模式,incoming 我们会用的多一点,就是从这个 Configuration 中获取产物,比如:

Gradle Builds Everything —— 处理依赖(aar)

2020-01-11
阅读 5 分钟
6.1k
我们使用 gradle 的时候,会使用implementation, compile等方式加入一些依赖,比如,aar 是个最经典的例子。那么 aar 到底经过 gradle 怎样的处理使得它能轻松的应用这个产物呢?

Gradle Builds Everything —— Task 实例

2020-01-04
阅读 3 分钟
4.1k
为了方便,我们的语境分不开Gradle和Android Gradle Plugin,因此此处不脱离Android环境来介绍Gradle。我们在讲述任务依赖的时候,提到一个Manager的东西,在这里,我们说到的是Android Gradle Plugin提供的BuildableArtifactsHolder这个类。

Gradle Builds Everything —— 基础概念

2020-01-03
阅读 4 分钟
3.4k
提到 Gradle,熟悉 Android 的人都不会陌生,在我们开始把 Android Studio 这个 IDE 扶正的时候,gradle 就彻底进入了我们的视野。但是大多数人对于 gradle 执行构建和构建流程都比较陌生,本文从编写 Gradle Plugin 的角度,希望把 Gradle 体系的一些基础结构能讲明白。

OK, IO

2018-04-14
阅读 9 分钟
1.6k
Okio is a library that complements java.io and java.nio to make it much easier to access, store, and process your data.它的定位是对 java.io 和 java.nio 包做了一个补足,使得开发者能更轻松地处理数据。

Native Hybrid Programming 之构建初探

2017-06-19
阅读 9 分钟
5.2k
最近几周开始了 IM 项目,因此想在应用层写一套业务隔离的,跨平台的 SDK, 我便瞄准了 libuv 这个库,开始了 Native Hybrid 的研究 —— 为了写一次代码可以同时在 Android 和 iOS 平台上进行编译/运行。

View.toString()

2017-01-19
阅读 4 分钟
2.4k
一般对象的toString输出是一段hashCode,而 View 的输出是这么一串的东西,它是不是有意义呢?我们就来看下View的toString方法的实现。

Dagger2 —— 匪夷所思,结果那么爱你

2016-11-14
阅读 3 分钟
4.8k
今天我们来讲讲一个有一点点冷门的库Dagger吧。我做一个不负责任的猜测:做客户端的同学可能比较少听到一些名词,比如面向切面编程、控制反转、依赖注入,相信玩过Spring的同学肯定知道这些一开始让人头大后来却很好玩的玩意儿。

android 实现【夜晚模式】的另外一种思路

2016-06-16
阅读 8 分钟
12.8k
源码地址 在一切开始之前,我只想用正当的方式,跪求各位的一个star [链接] 预览 序 在写SegmentFault for Android 4.0的过程中,因为原先采用的夜间模式,代码着实不好看,于是我又开始挖坑了。 在几个月前更新的Android Support Library 23.2中,让我们认识到了DayNight Theme。一看源码,原来以前在API 8的时候就已经...

Android 优化交互 —— CoordinatorLayout 与 Behavior

2016-04-28
阅读 3 分钟
26.6k
如果你已经很时髦的用上了AppBar,TabLayout,FloatActionButton,以及Snackbar的话,我想你多多少少肯定知道CoordinatorLayout这个东西。 它的神秘感来自于在布局文件 (xml) 和代码调用上完全看不出和其他组件任何的耦合,却能做出一些神奇酷炫的交互效果。

谜之RxJava (三)update 2 —— subscribeOn 和 observeOn 的区别

2016-04-03
阅读 11 分钟
26k
用过rxjava的旁友都知道,subscribeOn和observeOn都是用来切换线程用的,可是我什么时候用subscribeOn,什么时候用observeOn呢,我们很少知道这两个区别是啥。

谜之RxJava (三)update —— 线程切换(二)

2016-04-03
阅读 5 分钟
4.1k
在RxJava更新版本后,OperatorSubscribeOn这个接口进行了一个重构,变换方式从一个比较难理解的递归嵌套的Observable<Observable<T>>上做一个Operator改成了从OnSubscribe角度上进行了一层封装。

Android 程序员学习 iOS —— 在线程间跳舞

2016-02-28
阅读 2 分钟
3.9k
在客户端开发的过程中,我们经常碰到的问题有可能就是 IO 请求完成后,在主线程中更新 UI 这件事了,看见这个问题,我们一般会直接想到 Handler这个大杀器,

Android 程序员学习 iOS ——UIViewController 和 Layout System

2016-01-19
阅读 2 分钟
5.1k
Hello,通过Android程序员 如何入门iOS ——故事从这里开始 作为一个Androider 去看iOS程序的目录结构应该算有个大概的理解了,接下去我们小小介绍下和我们交道打的最多的UIViewController。

Android 程序员学习 iOS ——故事从这里开始

2016-01-07
阅读 2 分钟
10k
最近因为公司的一些原因,需要涉及iOS开发。在坑里摸爬滚打了2周之后,就写个入门心得吧。在一切的一切开始之前,你要先会Objective-C或者Swift(喜欢哪个用哪个,你开心就好)。

谜之RxJava(四)—— Retrofit和RxJava的基情

2015-12-01
阅读 5 分钟
25.1k
今天来介绍下和RxJava搭配使用的好基友,就是我们的Retrofit啦,Retrofit使用动态代理的机制,为我们提供了一个简要的使用方法来获取网络上的资料,现在更新到2.0.0-beta2了(因为是beta,我也碰到一些坑,期待作者发布下一个版本)。

谜之RxJava (三)—— 线程切换

2015-11-26
阅读 7 分钟
20.5k
RxJava最迷人的是什么?答案就是把异步序列写到一个工作流里!和javascript的Promise/A如出一辙。OK,在java中做异步的事情在我们传统理解过来可不方便,而且,如果要让异步按照我们的工作流来,就更困难了。

谜之RxJava (二) —— Magic Lift

2015-11-26
阅读 5 分钟
18.4k
上一篇文章 讲了Observable、OnSubscribe和Subscriber之间的关系。 我们知道,Observable的具体工作都是在OnSubscribe中完成的。从这个类名我们也知道,如果生成了一个Observable对象,而不进行subscribe,那么什么都不会发生!

谜之RxJava (一) —— 最基本的观察者模式

2015-11-26
阅读 5 分钟
26.2k
最近在Android界,最火的framework大概就是RxJava了。扔物线大大之前写了一篇文章 《给 Android 开发者的 RxJava 详解》,在我学习RxJava的过程中受益匪浅。经过阅读这篇文章后,我们来看下RxJava的源码,揭开它神秘的面纱。

Android 扫描二维码的实现(简化zxing)

2015-11-03
阅读 11 分钟
47.9k
哎呀呀,在杭州2015 Hackthon的现场,因为没有二维码签到功能,被吐槽low!这是我近期最丢脸的事啦~于是回来就开始着手开发二维码相关的东西了。

Android 实现一个立方体旋转效果

2015-09-28
阅读 4 分钟
12k
好久不见~ 今天我们来看看如何实现一个立方体翻转的效果,如图 看上去很麻烦,实际上实现起来还是蛮轻松的。这里我们使用到的有两个类。 android.graphic.Camera 这是在图像学概念里的摄像机,这是一个透视摄像机。 android.graphic.Matrix 矩阵,用来表示图像的变化。 头疼的钻研路开始 我们先从摄像头上的角度分析:正...

Android 实现锁屏的较完美方案

2015-08-11
阅读 2 分钟
11.9k
实现锁屏的方法,其实上网一搜一大把,无非是告诉你在Screen Off的时候启动某个Activity,同时把Keyguard禁用掉,但是通常情况下,似乎很难解决HOME键能解锁的这么一个问题,今天我们就来讲一个方案,就是如何近乎完美的实现我们的锁屏。

谈谈Android Material Design 中的Tint(着色)

2015-07-31
阅读 7 分钟
42.4k
当我开始接触Tint这个词的时候,其实是蛮不理解它的意思的,以及并不清楚Google发明它的目的,它一般搭配Background配合使用,但是现在已经有了Background,为什么还需要Tint呢?

#土豆记事# ——学习Kotlin(Android中的Swift)

2015-07-13
阅读 2 分钟
9k
带来了Nullable Safe特性 —— 以后再也不怕讨厌的 Null Pointer Exception了。 闭包闭包闭包 —— 重要的事情说三遍. Smart Type Case —— 很智能的一个特性,当你使用if检查是否是某种类型以后,自动转换为指定类型。 没有附加的Runtime —— iOSer 看到这会不会哭. Kotlin stdlib 非常小,打包后Apk的体积几乎没有变化,也不...

Android实现SwipeBack(右滑退出)效果

2015-07-10
阅读 4 分钟
33k
这是目前实现在SegmentFault for Android v2.6中的效果。 一切一切的之前,感谢 ikew0ng/SwipeBackLayout 我使用这个库,并经过一些修改,支持了Android 4.0以上所有的版本。 我们来分析下SwipeBackLayout的源码

Android Studio目录结构浅析

2015-07-06
阅读 2 分钟
43.1k
应各位朋友的要求,写这篇文章,让我们来简单了解下Android Studio中不同目录(文件)的位置和用途。 首先看下一个App的最简单的目录结构