安卓开发终极指南: 50多个初高级开发资源(译)

英文原文:The ultimate Android development guide: 50+ beginner and expert resources 

ultimate-android-guide.jpg

我仍记得几年前刚开始进入Android开发这个广阔而又神秘的世界时,手足无措的样子。

那时,要找到好的教程真的很难,搜索谷歌,阅读各种鱼龙混杂的文章,上StackOverflow查找答案是我搜集Android知识的唯一途径。但是随着时间的推移,我逐渐总结出了可以找到有用资源的地方,从中不断收集知识,提高自己的技术。

为了帮助像我这样的开发者,我整理了一份比较全的学习资料,对几乎所有开发者都有用,不管是初学者还是经验丰富的老油条。

对初学者

对那些准备入行安卓的Java程序员来说,这里是一些宝贵的资源。

安卓开发初学者课程

谷歌发布在优达学城上的初学者视频课程,不需要任何编程经验的课程,帮助你快速学习安卓开发的基础知识。

使用Android Studio进行安卓开发

如果想使用Android Studio开发第一个安卓app,那么这是一篇一个简单而又完备的指导教程。

安卓开发代码实验室

这是被严重低估的资源之一,一个所有安卓开发者从职业生涯开始就应该指导的学习资源。

谷歌Android词汇表

如果你刚刚跳进安卓开发的这个坑,一定会被各种各样的新概念和术语所淹没,别担心,谷歌设计了一个可交互的,用起来很舒服的词汇表,每个术语有描述和代码示例。ps:可惜词汇量有限。

官方的Android培训指导

这个谷歌的官方培训教程对初级开发者是非常有帮助的。教程涵盖了基础知识,并配有很多代码示例。

一个2年安卓开发者的一些忠告

安卓开发老司机的经验分享与忠告。或许,可以帮助某人更快上手,避免重复踩坑。中文版:一个2年安卓开发者的一些忠告。 

XML Basics

不熟悉XML?那么是时候去学它了,因为你将重度依赖它来设计布局。它非常简单,花不了多少时间就能掌握。

HTTP和REST入门

如果你将在app中和web services交互或者调用API,那么理解HTTP 和 REST对你来说是非常重要的。

对有经验的开发者

如果你从事安卓开发已经有了一两年,这是一些帮助你进一步提高安卓开发技能资源。

开发Android App

谷歌发布在优达学城上的开发一个实际项目的课程,非常适合中级开发者。

Android常用设计模式

如果你正苦于寻求用优雅的方式解决安卓开发中的难题,这是一些可以帮助你的常见设计模式。

如何学安卓: 开发者可以学习的21个App

作为一个开发者,提升自己的最佳方法就是阅读优秀的代码。Android拥有丰富的开源app社区,但是如何知道哪些才有学习价值呢?这篇文章将给你答案。

MVC vs. MVP vs. MVVM on Android

学习如何为自己的app选择一个正确的架构,以更易于开发,测试,debug和维护。

Modern Android: 抛弃Activity和Fragment

我们都知道Android的Activity和Fragment的生命周期有多复杂,但其实还有更现代的方法来开发app。这篇文章将讲解这些现代的安卓开发方法。

RxAndroid Tutorial

Android响应式程序设计速成。

深入理解Android View的构造函数

深入理解Android View的构造函数,它们是如何工作的,以及如何在你的自定义view中使用它们。

理解Android核心: Looper, Handler, and HandlerThread

如果你想理解Android framework的异步核心是如何构建的,以及如何利用它来实现流畅,快速,高质量的app,这篇文章正是你要的。

Measure, Layout, Draw, Repeat: 自定义View以及ViewGroups

一篇关于View和ViewGroup工作原理以及如何创建自定义UI控件的深度教程。

理解Activity的启动模式

能正确理解Android中启动模式的开发者不多。这篇文章详细讲解了不同启动模式之间的区别并配有生动的图片说明。中文版:Activity启动模式图文详解:standard, singleTop, singleTask 以及 singleInstance 

如何贡献你自己的Android Library 

使用过别人开源项目的你,如果想回馈社区,这是一篇关于如何发布library的详细教程。中文版:如何使用Android Studio把自己的Android library分享到jCenter和Maven Central

注:其实发布到jCenter并不复杂,这篇文章过于详细了点。

The Essential Google Play Store App Pre-Release Checklist

Learn how to have a smooth and successful Android app launch in the Play Store.

Android架构蓝图

谷歌提供的常用设计模式的示例,让你像大牛一样编写安卓app。

如何部署Android Instant Apps: Web Apps Take on Native Apps

Android Instant app让用户从能够通过打开移动网页的链接(例如,搜索、社交网络、消息传递链接和其他深层链接)体验原生app功能,而不用先去安装应用。这篇文章讲解了它的好处以及在现有的app基础上升级成instant版本是多么轻松。

提高Android开发者效率的最佳工具

这篇文章主要介绍了mac上提高开发者效率的一些工具。

像大牛一样使用 Android Studio

即使你每天都在使用Android Studio开发app,也很可能不知道一些隐藏的实用功能。

安卓开发最佳实践

遵循最佳实践可以帮助你开发出更干净,更好的app。当你是团队开发的时候这更加重要。

Android开发最佳实践

一篇资源满满的文章,从几个方面讲解了安卓开发的最佳实践。

关于Android strings.xml-你应该了解的几个原则

这篇文章告诉你使用strings.xml资源文件的最佳实践。中文地址:关于Android strings.xml-你应该了解的几个原则。 

Android Guidelines

安卓开发规范,包括编码风格规范和开发架构指南。

Best Practices for Android for Work in the Enterprise

想要在企业使用Android?阅读这篇关于 Android for Work的最佳实践。

Android 开发 — 一些最佳实践

一份简短但有用的最佳实践清单。

Effective Java for Android (Cheatsheet)

Effective Java被很多人看作是写出可维护和高效率Java代码的重要著作之一。这篇文章着重于如何在安卓开发中有效利用这些技术。中文版:【译】Effective Java for Android 。

Top 7 Tips for RxJava on Android

如果你选择了响应式的编程方法来开发安卓app,那么这些建议可以帮助你避免常见的错误,并充分利用这种模式。

在Android App中隐藏机密信息

一篇关于如何在app中保存与保护机密信息 (密码, API keys, 以及其它敏感信息)的文章。

设计漂亮的app

一个干净漂亮的UI是让app有吸引力的关键。

深入了解Material Design

一篇写的很好的带你近窥Material Design的文章。

一切皆可动画.  Android中的Transitions

学习如何在app中创建漂亮而又形象的动画,让app出类拔萃。

使用ConstraintLayout构建UI

新鲜出炉的ConstraintLayout完全改变了安卓app界面布局设计的游戏规则。这篇文章帮助你理解ConstraintLayout的基本知识。

Material 设计八不要

在拥抱Material Design的时候避免犯常见的设计错误。

Material Design 是设计科学

从科学的角度理解Material Design以及设计app的时候如何最大程度的利用它。

福利资源

一些你可能不想错过的各式各样的资源。

Twitter上40个值得关注的Android开发领军人物

如果你想跟上最新的开发趋势,请关注Twitter上的这些专家级开发者。

从现在开始Android Things!

想使用Android开发工具跳进物联网的大坑吗?这就是帮助你开启这个旅程的不错的资源。

Android Wear 教程 — A Comprehensive Introduction

如果你对开发安卓可穿戴设备感兴趣,这是一篇完整的教程。

Android Resources and Attributes Cheatsheet

一篇很有趣的文章,关于Android资源和属性的一些不为人知的细节。

Android TV入门

想开发TV应用?或者是让现有的应用支持TV平台?这是一篇不错的介绍。

网站推荐

想了解安卓领域最新的开发新闻,教程和事件?这是一些最佳的资源。

Android Weekly

不想错过任何安卓开发的资讯,文章,视频以及其它安卓领域的事件?Android Weekly每周不遗余力的更新安卓开发相关的一切。

Fragmented Podcast

如果你喜欢听播客的话,你一定不想错过这个两周一次的Fragmented Podcast,它邀请优秀的安卓开发者作为嘉宾,内容包含了各种Android工具,模式以及最佳实践。

CodePath Android Cliffnotes

最佳的,内容最新的安卓开发教程之一。这里你可以找到几乎所有关于安卓开发的指南和教程。最棒的是它完全开源,你也可以贡献自己的力量。

Caster IO

这里获得高质量的,简短的安卓开发视频,每周发布。

Styling Android

这里可以找到UI开发相关的重要信息。

The Commons Blog

 The Busy Coder’s Guide to Android Development一书的作者,Mark Murphy关于安卓开发的博客。

Vogella

由 Lars Vogel创建,这个网站有大量关于Java和Android开发的教程,初级和中级开发者均适合。

Reddit上的安卓开发社区

非常活跃安卓开发社区,来自世界各地的开发者在这里讨论与分享关于安卓开发的话题。

Android 开发官方博客

这是谷歌用来和开发者直接交流的官方博客,所有最新的开发信息都在这里率先发布。

希望这些资源可以帮助你学到更多的开发知识。如果觉得有用,请分享给朋友和同事。如果你有本文没有涵盖的东西可以分享,请在下面评论留言,我们将考虑添加进来。