Android学习之路

jopen 7年前

  收到一些朋友的微博私信,说能不能给 Android 新手们一些指导,我只能说指导谈不上,毕竟我也很多东西正在学习中,与此同时一大学同学准备转行 Android,可以说是从头开始,那么我就姑且以一个过来人的身份给一些建议吧,只希望在学习的过程中能够少走写弯路吧。

  硬件

  • 电脑–推荐 Mac

  首先声明我不是果粉,个人 Windows,Linux,Mac OX 系统均用过, 只能说 Windows 上面的开发工具简直难以恭维,尤其命令行超级难用,而 Linux 自己必须得花不少时间在折腾中,更是不适合新手了,Max OS 是我认为迄今为止最好用的系统,没有之一, 所以如果你不差钱的话,强烈建议入手一台 Mac,推荐 Pro 系列, 当然它的价格确实比较昂贵,如果暂时入手有困难,推荐以后手头宽裕的时候再入手吧,会带给你质的体验。(Google 的工程师们都在用 Mac,应该比较有说服力吧)

  • 手机–推荐 Nexus 5

  做 Android 开发最难以忍受的就是那龟速的模拟器,强烈推荐入手我 Google 的 Nexus 系列,原生 rom,性价比超高,有条件的推荐再入手一台小米或三星之类的,不是因为他们有多好用,而是因为目前市场上这两个品牌的手机份额最大,实际开发中可能需要 进行适配与测试,总之你需要有台 Android 手机。你可能还需要知道魅族手机有个 SmartBar 的东东,虽然我认为确实很 SB。最后你实在还是要用模拟器的话,那么姑且就给你推荐一款比较快速的模拟器吧—-Genymotion, 具体的见我这篇博客一个强大的 Android 模拟器 Genymotion

  开发环境

  Google 帮你集成了一个完整的 Android 开发环境,包含一个定制的 Eclipse + ADT plugin,以及最新的 SDK 及源码

  相比与 Eclipse 更推荐使用 IDEA,以后可以无缝过渡到 Android Studio

  首先说明这个不适合新手们使用,但是你必须知道这是 Google 最新推出的 Android 开发工具,基于 IDEA,编译依赖 Gradle,目前还没有推出 1.0 的正式版,但是你依然可以业余项目熟悉了解下,因为这也许是 Android 开发工具的未来

  KX上网

  俗话说,不会KX上网的程序员不是好程序员,尤其最近 Google 各项服务被屏蔽,以上 IDE 的下载也就都需要KX上网,这里推荐一个靠谱的 V*N 吧,支持多设备 MAC, Windows, Android, iPhone 等, 如果和小伙伴们一起合买的话每月只要几块钱,圈内的朋友们都在用,如果你通过下面链接购买的话,你和我的账户都会增加 10 元钱。

  云梯 V*N

  如果无论如何你都不想KX上网的话,这里 github 上可以直接下载以上 Android 开发工具

  AndroidDevTools

  Google Android 官方教程

  Android Training Course in Chinese

  Android 基础

  上面可能是一个比较全面系统的培训教程,对于新手们可能对某些需要着重掌握的东西比较迷茫,于是整理下个人认为新手们必须要掌握的知识点,顺便也会附带相应觉得不错的讲解博客地址。

  Activity 实际开发中使用频率最高,这个必须要理解

  Android 中的四大组件必须得知道,也是面试常问到的

  ListView 是所有控件中最常使用且对新手来说比较复杂的用法,各种 Adapter 的使用以及 ListView 的优化都是必须掌握的

  Intent 解决了 Android 中四大组件的通讯,非常有用,这篇博客收集整理了系统的标准 Intent

  介绍一些 Android 屏幕适配的基础

  Android 中的 SQLite 需要掌握,这篇博客很适合新手

  3. 0 之后新加的 Fragment,必须要掌握,目前使用的场景也是越来越普遍了

  Android 中级

  Android 的应用程序的生命周期需要理解,面试也是经常会被问的

  View 做为 UI 开发中最常用到的,必须要深入理解

  Service 作为 Android 四大组件之一,在每一个应用程序中都扮演着非常重要的角色

  目前比较常用比较流行的数据格式就是 json 了,这篇博客教你如何使用 Google Gson 库来进行 json 解析

  Android 开发中经常会用到 xml 布局,那么布局优化方面的知识更是需要掌握的了

  详细讲解了 Android 中 Intent 中如何传递对象

  Android 开发中异步操作是经常使用的,必须理解掌握

  Android 异步操作的另一种方法

  很早的一个小 demo,教你如果做一个 App 的 Loading 动画

  Android 进阶

  Google 官方 Android 新的构建系统,可以很方便的管理依赖、编译打包等

  一系列的性能调优教程,让你的代码以及 App 更畅通!

  一个开源客户端,教你使用 Studio、Gradle 以及一些流行的开源库快速开发一个不错的 Android 客户端

  自己整理的一些 Android 开发资源,包括开发、工具、设计等,相信会对你有用的

  Android 设计

  在开发一款 Android App 之前,你需要了解下 Android 平台的设计规范,这里有一系列关于 Android Design 的讲解以及 Google 最新推出的 Material Design 中文翻译版

  Android 开发必知的一些开源库

  说到开源库就不得不提 GitHub,只能说是目前最活跃的开源社区,不知道的赶紧去注册个账号使用起来,绝对是你快速提升技术的利器。

  Volley

  App 开发中免不了要和服务端进行交互,而 volley 是 Google 官方推出的一个开源的网络通信库,它能使网络通信更简单,更快速。

  ActiveAndroid

  ActiveAndroid 算是一个轻量级的 ORM (对象关系映射(Object Relation Mapping))框架,简单地通过如 save ()和 delete ()等方法来做到增删改查等操作。

  Retrofit

  Retrofit 和 Java 领域的 ORM 概念类似, ORM 把结构化数据转换为 Java 对象,而 Retrofit 把 REST API 返回的数据转化为 Java 对象方便操作。同时还封装了网络代码的调用。

  Android-Universal-Image-Loader

  Android-Universal-Image-Loader 是一个强大的开源图片异步加载库,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。

  Android 开源项目分类汇总

  非常全面的 GitHub 开源项目汇总,不需要重复发明轮子,尽情遨游在开源世界里吧

  关于我

  非科班转投编程,Android 开发者,Google 脑残粉,热爱开源,分享 Android 方面的知识、技术、见闻