- 6 条 Jetpack Compose 指南帮你优化 App 性能(Quincy-Ye 翻译)
- React Native 开发者的流行存储方案(KimYangOfCat 翻译)
- Jetpack Compose:样式和主题(第二部分)(Kimhooo 翻译)
- 探索 ANDROID 12:启动画面(Kimhooo 翻译)
- Jetpack Compose:更简便的 RecyclerView(第一部分)(Kimhooo 翻译)
- Android 静态分析工具(Kimhooo 翻译)
- Kotlin Multiplatform Mobile 的三模块问题(PassionPenguin 翻译)
- 构建和 Telegram 一样的上传动画(PassionPenguin 翻译)
- 当 Android 的 Compat 库不能拯救你的时候(PassionPenguin 翻译)
- Android 启动技巧:不要使用 Kotlin 协程(keepmovingljzy 翻译)
- 5 个 Kotlin 扩展技巧让你的 Android 代码更具表现力(keepmovingljzy 翻译)
- 使用 Android 11 进行机器学习:新功能(PassionPenguin 翻译)
- 构建像
Messenger
短信软件那样的 ImageView(PassionPenguin 翻译) - Android 中的意料之外的应用崩溃以及解决它们的方法(PassionPenguin 翻译)
- Flutter 可能是下一个大事件,但 Kotlin Multiplatform 一直都是大事件(keepmovingljzy 翻译)
- 探索 Android 中的 ConstraintLayout 2.0(keepmovingljzy 翻译)
- 如何避免 Android 设备的 WiFi 扫描节流(regon-cao 翻译)
- 在你的 Instant 体验中使用 showInstallPrompt 的 5 个技巧(Fxy4ever 翻译)
- Android 应用程序的订阅 101 系列视频(Fxy4ever 翻译)
- 如何在安卓应用中使用 TensorFlow Mobile(luochen1992 翻译)
- 用 Flutter 开发你的第一个应用程序(mysterytony 翻译)
- Flutter — 五个你会爱上它的原因(rockzhai 翻译)
- 在 Android Instant App(安卓即时应用程序)中启用 ProGuard(混淆)(JayZhaoBoy 翻译)
- Android 生命周期备忘录 — 第一部分: 单一 Activities(IllllllIIl 翻译)
- 理解音频焦点(第3/3部分):三个步骤实现音频聚焦(oaosj 翻译)
- Workcation App – 第四部分. 场景(Scenes)和 RecyclerView 的可共享的转场动画(Shared Element Transition)(stormrabbit 翻译)
- 大战 RxJava2 和 Java8 Stream [ Android RxJava2 ] (这到底是什么) 第四部分(boileryao 翻译)
- Android 开发者如何使用函数式编程 (一)(skyar2009 翻译)
- 2019 年的 Android 网络 —— Retrofit 与 Kotlin 协程(Feximin 翻译)
- Android 模拟器:Project Marble 中的改进(qiuyuezhong 翻译)
- Kotlin Clean 架构(JasonWu1111 翻译)
- 区域设置更改和 AndroidViewModel 反面模式(solerji 翻译)
- 思考实践:用 Go 实现 Flutter(suhanyujie 翻译)
- Android 数据绑定库 — 从可观察域到 LiveData 仅需两步(gs666 翻译)
- 改善 Android Studio 的构建速度(qiuyuezhong 翻译)
- Android中的简易协程:viewModelScope(twang1727 翻译)
- 高效地在 Flutter 中使用 BLoC 模式(LucaslEliane 翻译)
- Flutter 布局备忘录(EmilyQiRabbit 翻译)
- 关于 Flutter 页面路由过渡动画,你所需要知道的一切(EmilyQiRabbit 翻译)
- Android Studio Project Marble: Apply Changes(qiuyuezhong 翻译)
- WorkManager 基础入门(gs666 翻译)
- C++ 和 Android 本地 Activity 初探(Feximin 翻译)
- Room 🔗 Coroutines(Feximin 翻译)
- 谷歌寻踪圣诞老人应用(Santa Tracker)迁移到 Android App Bundle 记录(phxnirvana 翻译)
- 通过 Play Cloud 的 ART 优化配置提升应用性能(nanjingboy 翻译)
- 用 Flutter 打造一个圆形滑块(Slider)(DevMcryYu 翻译)
- Kotlin 标准方法备忘(Feximin 翻译)
- 依赖注入在多模块工程中的应用(Mirosalva 翻译)
- Workmanager 简介(gs666 翻译)
- Data Binding 库使用的经验教训(Mirosalva 翻译)
- Plaid 应用迁移到 AndroidX 的实践经历(Mirosalva 翻译)
- Android 生命周期备忘录 — 第三部分:Fragments(Qiuk17 翻译)
- Android 生命周期备忘录 —— 第四部分:ViewModels、半透明 Activities 及启动模式(xiaxiayang 翻译)
- 在 Android 应用中使用矢量资源(YueYongDev 翻译)
- MDC-104 Flutter:Material 高级组件(Flutter)(DevMcryYu 翻译)
- Android 生命周期备忘录 — 第二部分:多 Activity(gs666 翻译)
- Flutter 异步编程:Future、Isolate 和事件循环(nanjingboy 翻译)
- 转化通用安卓音乐播放器为 instant 应用(Mirosalva 翻译)
- 绘制路径:Android 中矢量图渲染(xiaxiayang 翻译)
- 介绍一款使用 Flutter 编写的 Flutter 组件、应用生成器(jerryOnlyZRJ 翻译)
- Widget - State - Context - InheritedWidget(nanjingboy 翻译)
- Flutter 从 0 到 1 第二部分(hongruqi 翻译)
- 我与 Flutter 的一年(ssshooter 翻译)
- 为什么你的应用需要对各种尺寸屏幕做适配优化?(Mirosalva 翻译)
- Android Dev Summit 2018 应用(instant app 的总结 + 开源)(DevMcryYu 翻译)
- MDC-103 Flutter: Material Theming 的颜色、形状、高度和类型(Flutter)(DevMcryYu 翻译)
- PWA 会取代原生移动应用吗?(jerryOnlyZRJ 翻译)
- 13 个你应该选择/考虑使用 Flutter 的理由(YueYongDev 翻译)
- 充分利用多摄像头 API(xiaxiayang 翻译)
- 轻松发布私有 APP(Qiuk17 翻译)
- Flutter 从 0 到 1(hongruqi 翻译)
- Android 上一次编写,到处测试(gs666 翻译)
- 格子拼贴 — 关于模块化的故事(snpmyn 翻译)
- Android 中的 MVP:如何使 Presenter 层系统化(Moosphan 翻译)
- MDC-102 Flutter:Material 结构和布局(Flutter)(DevMcryYu 翻译)
- MDC-101 Flutter:Material Components(MDC)基础(Flutter)(DevMcryYu 翻译)
- 使用自定义文件模板加快你的应用开发速度(nanjingboy 翻译)
- 当 Kotlin 中的监听器包含多个方法时,如何让它 “巧夺天工”?(Moosphan 翻译)
- 了解 Android 的矢量图片格式:
VectorDrawable
(HarderChen 翻译) - Android 内核控制流完整性(nanjingboy 翻译)
- 同时使用多个相机流(zx-Zhu 翻译)
- Kotlin 协程高级使用技巧(nanjingboy 翻译)
- 使用 Flutter,Material Theming 和官方材质组件(MDC)构建美观,灵活的用户界面(DevMcryYu 翻译)
- 为用户提供安全可靠的体验(YueYongDev 翻译)
- 在 Android 上实现 Google Inbox 的样式动画(YueYongDev 翻译)
- 回答有关 Flutter App 开发的问题(YueYongDev 翻译)
- 更好的数据,更明智的决策(BriFuture 翻译)
- 如何在东南亚拓展您的应用业务(jianboy 翻译)
- 正确实现 linkedPurchaseToken 以避免重复订阅(yuwhuawang 翻译)
- Android 的多摄像头支持(luoqiuyu 翻译)
- React Native 对 Flutter: 哪一个对创业公司更加友好?(tanglie1993 翻译)
- Flutter 的英雄和流氓们 —— 为 Flutterverse 带来平衡(DateBro 翻译)
- 如何将 Stackdriver 连接到智能家居服务器以进行错误记录(Starriers 翻译)
- 写一个完整的 Flutter App 是什么感觉(tanglie1993 翻译)
- 深入 Flutter 之手势(MeFelixWang 翻译)
- 挑战 Flutter 之 YouTube(MeFelixWang 翻译)
- 挑战 Flutter 之 Twitter(MeFelixWang 翻译)
- 测试原生,Flutter 和 React Native 移动开发之间的性能差异。(LeeSniper 翻译)
- 如何用 Flutter 来创建一个带有底部导航栏的应用程序(geniusq1981 翻译)
- Slidable:一个 Flutter 的故事(YueYongDev 翻译)
- 在 Flutter 中实现微光闪烁效果(geniusq1981 翻译)
- 为什么每个 Android 开发者都应该尝试 Flutter(ALVINYEH 翻译)
- 移动技术在改善财务健康方面的作用(DateBro 翻译)
- 在 Flutter 中解析复杂的 JSON(DateBro 翻译)
- Kotlin 揭秘:理解速记 Lambda 语法(androidxiao 翻译)
- 深入了解 Flutter(DateBro 翻译)
- 使用 Flutter 制作 3D 翻转动画(ALVINYEH 翻译)
- Flutter 实用指南:给初学者的 6 个小帖士(ALVINYEH 翻译)
- 用 Flutter 写一个待办事项应用(DateBro 翻译)
- Flutter 系列入门教程五:网格(YueYongDev 翻译)
- Flutter 中的原生应用程序状态(Starriers 翻译)
- 实用 ProGuard 规则示例(DerekDick 翻译)
- Flutter 挑战之 WhatsApp(YueYongDev 翻译)
- 为什么你需要关注一下 Flutter(DateBro 翻译)
- 如何在 Flutter 中设计 LinearLayout?(androidxiao 翻译)
- 使用 Flutter 的 GestureDetector 构建自定义滑块(ALVINYEH 翻译)
- Flutter 组件到底是什么?(ALVINYEH 翻译)
- 海量视频时代下的内容发现之旅(Yuhanlolo 翻译)
- React Native:回顾 Udacity 移动工程团队的使用历程(pkuwwt 翻译)
- 如何避免拍脑袋想出的产品优先策略(bobmayuze 翻译)
- Android 应用和游戏的无障碍开发介绍(geniusq1981 翻译)
- 如何用 Android vitals 解决应用程序的质量问题(LeeSniper 翻译)
- 在 SnackBar,Navigation 和其他事件中使用 LiveData(SingleLiveEvent 案例)(wzasd 翻译)
- PWA 再进化,可以生成一个安卓原生的 WebAPK 了(Yuhanlolo 翻译)
- 如何针对 Android 优化您的应用(Go 版)(androidxiao 翻译)
- 带你领略 ConstraintLayout 1.1 的新功能(Moosphan 翻译)
- 在 Android P 中使用默认的 TLS 来保护你的用户(hanliuxin5 翻译)
- 介绍 Google Play 上新的优质 Android 应用与游戏(sisibeloved 翻译)
- 情景活动感知识别的 Transition API 新特性面向全体开发者开放(wzasd 翻译)
- 通过安全浏览保护 WebView(androidxiao 翻译)
- 使用 Span 来修改文本样式的优质体验(wzasd 翻译)
- Windows Insets 和 Fragment 过渡动画(LeeSniper 翻译)
- Android 支持库 21.1.0 中的 Loaders(dreamhb 翻译)
- Android Studio 切换至 D8 dexer(Starriers 翻译)
- 移动游戏发行的新时代(IllllllIIl 翻译)
- 在 Google I/O 2018 观看 Flutter 的正确姿势(wzasd 翻译)
- 更为详细的地图、导航和助手功能 —— Google I/O 2018 的 Android 应用更新(sisibeloved 翻译)
- 论 Android 中 Span 的正确打开方式(tanglie1993 翻译)
- 为什么 Flutter 能最好地改变移动开发(ALVINYEH 翻译)
- 为什么你应该开始使用 Kotlin(ALVINYEH 翻译)
- Flutter 到底有多快?我开发了秒表应用来弄清楚。(ALVINYEH 翻译)
- 建立一个像科幻小说一样的虚拟世界:设计一个全球性的虚拟世界(LeeSniper 翻译)
- 利用 Android 构建 TV 的未来(JayZhaoBoy 翻译)
- 使用 leanback 的 DiffCallback:和 DiffUtil 回调之间的区别(LeeSniper 翻译)
- 为 JavaScript 程序员准备的 Flutter 指南(lsvih 翻译)
- 使用MVI构建响应式 APP — 第七部分 — TIMING (SINGLELIVEEVENT 问题)(pcdack 翻译)
- Google Play 控制台指南(JayZhaoBoy 翻译)
- 从 SQLite 逐步迁移到 Room(IllllllIIl 翻译)
- 使用 MVI 编写响应式 APP—第六部分—状态恢复(pcdack 翻译)
- Flutter — 五个你会爱上它的原因(rockzhai 翻译)
- 如何在中国使用 Flutter(mysterytony 翻译)
- 使用 MVI 编写响应式 APP — 第 5 部分 — 简单的调试(pcdack 翻译)
- 使用 MODEL-VIEW-INTENT 第四部分 — 独立 UI 组件(pcdack 翻译)
- 第三方 SDK 的信任问题(CACppuccino 翻译)
- 使用 MVI 开发响应式 APP — 第三部分 — 状态折叠器(state reducer)(pcdack 翻译)
- 大话(Observable 向 Observer 求婚)之我与 Rx Observable [Android RxJava2](这是什么鬼)第七话(dieyidezui 翻译)
- Subject 和 Observable + Observer 的混淆指北[ Android RxJava2 ] ( 这什么鬼系列 ) 第八话(rockzhai 翻译)
- Android 生命周期备忘录 — 第一部分: 单一 Activities(IllllllIIl 翻译)
- 玩转 Android paths(IllllllIIl 翻译)
- 大话(Summer vs winter Observable)之我与 Rx Observable[Android RxJava2](这是什么鬼)第六话(hanliuxin5 翻译)
- 如何打造以人为本的移动游戏(hanliuxin5 翻译)
- 开发者也是用户 - 第二部分:改善 UI 和 API 可用性的五条指导原则(tanglie1993 翻译)
- 开发者也是用户 - 简介(lsvih 翻译)
- 构建更具可用性的 UI 与 API 的 5 个方针(lsvih 翻译)
- 函数式 Java 到函数式 Kotlin 的转换(huanglizhuo 翻译)
- 开发者须知:女性用户和手机游戏(corresponding 翻译)
- 像奥利奥一样的双重安全措施,尽在 Android Oreo(XPGSnail 翻译)
- ProGuard 在 Android 上的使用姿势(dieyidezui 翻译)
- 智对订阅难点:教你如何应对工作中 10 种常见订阅问题(pot-code 翻译)
- Android MVP 架构必要知识:第三部分(Dialog,ViewPager,RecyclerView 以及 Adapters)(woitaylor 翻译)
- app 里的 A/B 测试简介(mnikn 翻译)
- 从应用探索者到初次购买者(ppp-man 翻译)
- 用 CoordinatorLayout 处理滚动(Feximin 翻译)
- Android 开发者如何函数式编程 (三)(miguoer 翻译)
- 全新 Android 注入器 : Dagger 2(三)(woitaylor 翻译)
- 全新 Android 注入器 : Dagger 2(二)(woitaylor 翻译)
- 全新 Android 注入器 : Dagger 2(一)(MummyDing 翻译)
- 缩小 APK,增加下载量(tanglie1993 翻译)
- 在 Android O 上用到 MediaStyle 的提醒功能(ppp-man 翻译)
- ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader(Feximin 翻译)
- 理解音频焦点(第3/3部分):在应用中实施音频聚焦的 3 个步骤(oaosj 翻译)
- 理解音频焦点(第2/3部分):更多的音频焦点用例(oaosj 翻译)
- 理解音频焦点(第1/3部分):常见的音频焦点用例(oaosj 翻译)
- ViewModels 简单入门指北(huanglizhuo 翻译)
- ViewModel 和 LiveData:为设计模式打 Call 还是唱反调?(boileryao 翻译)
- 管中窥豹:RxJava 与 Kotlin 协程的对比(phxnirvana 翻译)
- RxJava 中的错误处理(tmpbook 翻译)
- 将 Android 项目迁移到 Kotlin 语言(wilsonandusa 翻译)
- 函数式响应编程入门指南(stormrabbit 翻译)
- 安卓界面导航初识(horizon13th 翻译)
- 探索 Kotlin 的隐性成本(第三部分)(phxnirvana 翻译)
- 探索 Kotlin 中的隐性成本(第二部分)(Feximin 翻译)
- 探索 Kotlin 中的隐性成本(第一部分)(Feximin 翻译)
- 将 Kotlin 应用于现有 Java 代码的策略(Luolc 翻译)
- 第一次走进 Android 中的 Kotlin 协程(Feximin 翻译)
- Android 中的定时任务调度(phxnirvana 翻译)
- Kotlin:小菜一碟(CACppuccino 翻译)
- 说服Kotlin编译器代码安全(wilsonandusa 翻译)
- 当设计模式遇上 Kotlin(boileryao 翻译)
- Kotlin 中我讨厌什么(Zhiw 翻译)
- 再谈如何安全地在 Android 中存储令牌(lovexiaov 翻译)
- Workcation App – 第四部分. 场景(Scenes)和 RecyclerView 的共享元素转场动画(Shared Element Transition)(stormrabbit 翻译)
- Workcation App – 第三部分. 带有动画的标记(Animated Markers) 与 RecyclerView 的互动(stormrabbit 翻译)
- Workcation App – 第二部分 .带有动画的标记(Animating Markers) 与 MapOverlayLayout(stormrabbit 翻译)
- Workcation App – 第一部分 . 自定义 Fragment 转场动画(stormrabbit 翻译)
- 使用 Espresso 和 Mockito 测试 MVP(skyar2009 翻译)
- 用 Dagger 2 实现依赖注入(tanglie1993 翻译)
- 如何创建 BubblePicker – Android 多彩菜单动画(hackerkevin 翻译)
- 通过测试来解耦Activity(mnikn 翻译)
- 函数式接口、默认方法、纯函数、函数的副作用、高阶函数、可变的和不可变的、函数式编程和 Lambda 表达式 - 响应式编程 [Android RxJava 2](这到底是什么)第三部分(XHShirley 翻译)
- 开发者(也就是我)与Rx Observable 类的对话 [ Android RxJava2 ] ( 这到底是什么?) 第五部分(stormrabbit 翻译)
- 使用 Espresso 隔离测试视图(yazhi1992 翻译)
- RxJava 中的多线程(phxnirvana 翻译)
- Android 如何实现气泡选择动画(skyar2009 翻译)
- 一个人的 Android 开发(BoilerYao 翻译)
- 我是如何做到在 5 分钟之内将应用大小减少 60% 的(jifaxu 翻译)
- 拉模式和推模式,命令式和响应式 – 响应式编程 [Android RxJava2](这到底是什么):第二部分(XHShirley 翻译)
- 离线支持:不再『稍后重试』(skyar2009 翻译)
- 当发布安卓开源库时我希望知道的东西(jifaxu 翻译)
- 单元测试试图告诉我们关于 Activity 的什么事情:第二部分(tanglie1993 翻译)
- 面向无神论安卓开发:如何和为什么要干掉上帝对象(Danny1451 翻译)
- Android 开发者如何使用函数式编程 (二)(tanglie1993 翻译)
- 单元测试试图告诉我们关于 Activity 的什么事情:第一部分(tanglie1993 翻译)
- Android 开发者如何使用函数式编程(一)(skyar2009 翻译)
- Constraint Layout 动画 |动态 Constraint |用 Java 实现的 UI[Part3](siegeout 翻译)
- RxJava 中的 Subscriptions 是怎样泄露内存的(tanglie1993 翻译)
- ConstraintLayout 可视化[Design]编辑器 (这到底是什么)[第四部分](yazhi1992 翻译)
- Android Nougat 中通过 Intents 共享文件,你准备好了吗?(skyar2009 翻译)
- 观察者模式 – 响应式编程 [Android RxJava2](这到底是什么):第一部分(Zhiwei Yu(Zhiw) 翻译)
- 为什么 Android 测试如此困难:历史版本(tanglie1993 翻译)
- ConstraintLayout ( 这到底是什么 ) (小贴士及小技巧) 第二部分(jamweak 翻译)
- Android MVP 架构必要知识:第二部分(tanglie1993 翻译)
- RecyclerView 数据预取(tanglie1993 翻译)
- Android MVP 架构必要知识:第一部分(jifaxu 翻译)
- 安卓应用栏的滚动效果(XHShirley 翻译)
- ConstraintLayout (这到底是什么)(jifaxu 翻译)
- 如何搭建安卓开发持续化集成环境(Ubuntu + Jenkins + SonarQube)(skyar2009 翻译)
- Model-View-Intent 模式下的响应式应用 - 第一部分 - Model(模型)(XHShirley 翻译)
- RxAndroid 中文教程(Jamweak 翻译)
- Android 响应式编程的未来展望:RxJava 2 版本前瞻(Goshin 翻译)
- SOLID 原则:权威指南(XHShirley 翻译)
- Android 数据绑定之: RecyclerView(jamweak 翻译)
- Android 写测试用例的注意事项(Zhiwei Yu 翻译)
- 使用约束控件创建界面(王子建 翻译)
- 网络请求框架 Retrofit 2 使用入门(Zhiw 翻译)
- Android 中的 Effective Java(速查表)(Jamweak 翻译)
- 彻底理解引用在 Android 和 Java 中的工作原理(jacksonke 翻译)
- 利用好 Android Studio 中的 APK Analyzer(XHShirley 翻译)
- 在 Android 应用中监测来电信息(PhxNirvana 翻译)
- Android 界面的性能优化 — 减少过度绘制(Nicolas(Yifei) Li 翻译)
- 构建 Android APP 一定要绕过的 30 个坑(Nicolas(Yifei) Li 翻译)
- Android 开发者如何通过运动视觉 API 进行机器学习?Part 1 — 人脸检测(Nicolas(Yifei) Li 翻译)
- 再见,汉堡菜单,我们有了新的 Android 交互设计方案(Xiaonan Shen 翻译)
- Android Material 搜索框实现详细说明(siegeout 翻译)
- 探索 Firebase 在 Android 和 iOS 的使用: 远程配置(Jamweak 翻译)
- Android 动画的灵魂—— Interpolator(siegeout 翻译)
- 探索 Firebase 在 Android 和 iOS 的使用: Analytics (分析模块)(yifili09 翻译)
- 如何通过 ArrayMap 和 SparseArray 优化 Android App(jamweak 翻译)
- Pury — 一个新的 Android App 性能分析工具(owenlyn 翻译)
- 关于 Android Adapter,你的实现方式可能一直都有问题(siegeout 翻译)
- 探索Android大杀器——Handler(jamweak 翻译)
- 如何测试 Android Service 里的 Singleton (2)(newt0n 翻译)
- 如何测试 Android Service 里的 Singleton (1)(newt0n 翻译)
- APK 里有什么?(newt0n 翻译)
- Activity 的正确打开方式(Liz 翻译)
- 如何创建高度模块化的 Android 应用(DeadLion 翻译)
- 使用强大的 Mockito 测试框架来测试你的代码(edvardhua 翻译)
- Android 中美腻的下划线(jamweak 翻译)
- 来瞧瞧 Android N 中的通知长成啥样了(DeadLion 翻译)
- 深度讲解 Android 主题层级(aidistan 翻译)
- 八个造成 Android 应用内存泄露的原因(zhangzhaoqi 翻译)
- 怎样在 5 分钟内使 Drawer 在状态栏下可见?(Dwight 翻译)
- 怎样用 JRebel 启动 Android(edvardhua 翻译)
- Vector For All (slight return)(huanglizhuo 翻译)
- Vectors For All (almost)(edvardhua 翻译)
- Vectors For All (最终篇)(Jaeger 翻译)
- 为什么 Android 上 Canvas 画出的图形不够平滑?(Sausure 翻译)
- 使用GCM网络管理工具优化电池使用(程大治 翻译)
- 用工厂流水线的方式来理解 RxJava 的概念(Sausure 翻译)
- 在 Android N 预览版中使用 Java 8 的新特性(markzhai 翻译)
- 创建一个基于 Kotlin 的 Android 项目(下集)(Jing KE 翻译)
- 创建一个基于 Kotlin 的 Android 项目(上集)(Jing KE 翻译)
- 使用 RxJava 封装现有的库(尹述迪 翻译)
- 在 Android 下进行实时模糊渲染(Sausre 翻译)
- Android 开发中利用异步来优化运行速度和性能(edvardHua 翻译)
- 深入浅出 Android 权限(二)(Hugo Xie 翻译)
- 深入浅出 Android 权限(一)(Hugo Xie 翻译)
- 世界级的 Android 测试流程(一)(markzhai 翻译)
- 世界级的 Android 测试流程(二)(markzhai 翻译)
- 2015 年度 Android 开发者必备的 5 个开源库(kassadin 翻译)
- 如何提高安卓代码的质量和语法(yinshudi 翻译)
- 如何更高效地使用 okhttp(Brucezz 翻译)
- 每个 Android 开发者都应该读的 Android Studio Tips(Jaeger 翻译)
- MVVM模式介绍(Sausure 翻译)
- Android 的一个 MVP 基础项目模板(foolishgao 翻译)
- 让 Toolbar 随着 RecyclerView 的滚动而显示/隐藏(MiJack 翻译)
- Android Guides - Github(SeniorZhai 翻译)
- 我希望在我写第一个安卓 APP 前知道的 6 件事情(404neko 翻译)
- Android 上的数据格式 FlatBuffers 介绍(lihb 翻译)