原址:点击打开链接

这篇博客背后的故事

一路走来很不容易,刚好知乎上被人邀请回答如何自学android编程, 就借这个机会在知乎上记录一路走来的历程,很励志,希望能给那些正在或准备走编程行业的人一些正能量,内容有点长,感兴趣的可以当做励志小说阅读吧。


收到一些朋友的微博私信,说能不能给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

书籍

书不在多,适合你就好,其实市面上的书籍大部分都差不多,没有本质的区别,所以书必要要有,但不推荐一次性买太多。这里推荐几本我认为比较好的书籍,点击可以直接购买。

  • 第一行代码

郭神的最新力作,郭神的博客很棒,书我也买了看了一部分,非常棒,适合新手,而且是针对Android 4.0进行讲解的。

  • 疯狂Android讲义第二版

当年我学习的时候就看的这本书,现在出了第二版了,这本书的优点是讲的很细,代码较多,你可以跟着代码一步步敲,缺点就是篇幅太多,导致书太厚了,携带不方便,书中最后的几个实例教程不是那么好,不知道第二版更改没。

  • Thinking In Java中文版

Thinking In Java是Java的经典书籍,这是一本值得反复看的书籍,针对有一定Java基础的人,可以说是学习Java语言必备的书籍。

  • Effective Java中文第二版

Effective Java是Java进阶必备书籍,看后绝对会让你对Java有了更深的认识。

补充:鉴于很多小伙伴让推荐Java学习的初级睡觉,Thinking In Java确实是本好书,但好书一般都不是针对初学者的,所以如果你没有任何编程经验,那么我来给你推荐几本Java基础书籍,就不提供购买链接了,大家自行搜索去购买。

  • 《疯狂Java讲义》(李刚),《JAVA面向对象编程》(孙卫琴),《Java开发实战经典》(李兴华),《Core Java》

这几本书都是针对初学者的,我都没有看过,但是我自己稍微做了了解,最后,这些书买一本就够了,然后配合视频学习,小白入门不是梦。

开发环境

  • Android Studio

目前强烈推荐Android开发者使用,抛弃Eclipse拥抱未来吧!这是Google最新推出的Android开发工具,基于IDEA,编译依赖Gradle,目前已经推出1.0正式版,这是Android开发工具的未来,所以身为Android开发者有必要花点时间去学习使用它,亲身经历,自从使用它之后再也不想去碰Eclipse。

为此我也推出了Android Studio的一些列学习教程,堪称史上最详细:

Android Studio系列教程一 —- 下载与安装

Android Studio系列教程二 —- 基本设置与运行

Android Studio系列教程三 —- 快捷键

Android Studio系列教程四 —- Gradle基础

Android Studio系列教程五–Gradle命令详解与导入第三方包

Android Studio系列教程六–Gradle多渠道打包

翻墙

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

云梯VPN

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

AndroidDevTools

Google Android官方教程

Android Training Course in Chinese

视频推荐

在这里我必须强烈推荐新手们结合视频学习,身为过来人我的很清楚一开始入门很难,只是看书或者资料难以理解,而这时候结合视频讲解,加上自己的书籍与实战,会起到事半功倍的效果。所以不要小看了视频的作用,当然现阶段的我完全不需要去看视频,因为视频讲解的有些慢,但是对于新手们的作用非常巨大。视频学习有很多,但大都差不多,我也没法推荐最好的给你,只是以我自己的角度觉得质量还不错,推荐如下Android视频学习。

Android视频学习推荐

Android基础

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

  • 两分钟彻底让你明白Android Activity生命周期(图文)!

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

  • Android四大基本组件介绍与生命周期

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

  • ListView的基本使用与优化

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

  • Android系统用于Activity的标准Intent

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

  • Android 屏幕适配

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

  • Android中SQLite应用详解

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

  • Android Fragment完全解析

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

Android中级

  • Android应用程序的生命周期

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

  • 带你一步步深入了解View

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

  • Android Service完全解析

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

  • Android Gson

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

  • Android 布局优化

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

  • Android中Intent传递对象的两种方法(Serializable,Parcelable)

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

  • Android异步消息处理机制完全解析

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

  • Android AsyncTask完全解析

Android异步操作的另一种方法

  • Android Custom Loading

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

Android进阶

  • Android Gradle

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

  • Android 性能优化

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

  • 一个完整的开源项目–9GAG

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

  • 整理的Android开发资源

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

Android设计

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

  • Material Design

Android兼容库

在了解了设计规范准备着手开发你的App时,你还需要考虑你的App支持的版本,如果是全新的App,从目前的市场份额来看,建议直接支持4.0+,虽然2.3的份额仍然有一部分,但是这部分真正用来使用App的人又能有多少呢。当然如果你的公司必须要求支持2.x的版本,那么也不用担心,下面整理了几个满足你适配的一些兼容库:

  • ActionBarSherlock

大神JakeWharton的一个ActionBar的兼容库,支持在2.x版本使用ActionBar

  • ActionBar Compact

在这之前使用ActionBar基本都会使用上述JakeWharton的兼容库,但是目前Google有了自己的一套ActionBar兼容库,推荐使用ActionBar Compact,具体介绍及使用方法详见我的这篇博客

  • NineOldAndroids

Android 3.0之前开放的一些新的动画api–Property Animation,大神JakeWharton的又一大作,可以让你在2.x版本的sdk可以使用属性动画.

  • Android Support V4

如果需要兼容2.x的版本,在使用如下类的时候你需要使用v4包下的,如Fragment, FragmentManager, FragmentActivity, FragmentPagerAdapter, CursorLoader, LoaderManager, AsyncTaskLoader

当然v4包下面除了以上还有一些新的控件你必须知道

Navigation Drawer(导航抽屉)

在这之前在Android上实现一个抽屉导航你可能会用到SlidingMenu开源库,如今你可以使用官方的DrawerLayout控件很容易实现

SlidingPaneLayout

SlidingPaneLayout是V4包中新添加的组件,可以实现两列面板的切换, 具体使用与效果见博客链接

SwipeRefreshLayout

SwipeRefreshLayout是Google在support v4 19.1版本的library更新的一个下拉刷新组件,使用起来很方便,可以很方便的实现Google Now的效果

Android开发必知的一些开源库

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

Volley

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

  • Volley完全解析

  • Android volley sample

ActiveAndroid

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

  • ActiveAndroid–Android轻量级ORM框架

Retrofit

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

  • Retrofit – Java(Android) 的REST 接口封装类库

Android-Universal-Image-Loader

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

  • Android-Universal-Image-Loader

Android开源项目分类汇总

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

关于我

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

  • GitHub: stormzhang

  • Weibo: googdev

  • 知乎: stormzhang

  • 更多我的消息: 关于我

Android微信公众账号

推荐大家关注我的微信公众账号googdev, 专注Android技术分享,保证绝对干货!

stormzhang Android 学习之路相关推荐

  1. android学习之路1:前车之鉴之开发环境搭建

    写程序两年有余了,朝九晚五的拼命工作着,却忘记了我们自己最初的梦想,忘却了最开始站在起跑线时的英姿勃发,渐渐的变成了coder,继续coding中. Android学习之路刚刚开始,目前大米属于小白阶 ...

  2. Android学习之路-----倒计时欢迎界面(更有条理)

    2019独角兽企业重金招聘Python工程师标准>>> Android学习之路-----倒计时欢迎界面(更有条理) 转载于:https://my.oschina.net/symahl ...

  3. 【Android学习之路】之从零开始做一个小项目(一)

    最近在学Android(初学者吖),写下这个[Android学习之路]系列记录一下自己学习的过程,欢迎阅读~

  4. 【Monica的android学习之路】四大组件的生命周期

    [Monica的android学习之路]四大组件的生命周期 1. Service 1.1 启动service 1.1.1 startService 1.1.2 bindService 1.2 死亡回调 ...

  5. Android学习之路4——音乐播放器后台播放

    Android学习之路4--音乐播放器后台播放 一.实验题目 简单音乐播放器 二.实现内容 实现一个简单的播放器,要求功能有: 播放.暂停.停止.退出功能,按停止键会重置封面转角,进度条和播放按钮:按 ...

  6. 【Android学习之路】新手入门Kotlin语言

    入门Kotlin编程语言 Kotlin简介 Kotlin是一种在Java虚拟机上运行的静态类编程语言, 有Android世界的Swift之称,是由JetBrains公司设计开发并且开源的编程语言.早在 ...

  7. 我的 5 年 Android 学习之路,那些年一起踩过的坑

    光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了,在这里,我分享一下我的经验,在 Android 的学习路上,我是站在巨人的肩膀上成长起来的. 大概分为 ...

  8. 【Andrioid】(转自stormzhang)Android学习之路

    害怕stormzhang的网站beng了,就转到自己这了. 欢迎转载,但请务必在明确位置注明出处!http://stormzhang.com/android/2014/07/07/learn-andr ...

  9. Android学习之路——转自stormzhang

    转自:http://www.stormzhang.com/android/2014/07/07/learn-android-from-rookie/ http://www.stormzhang.com ...

最新文章

  1. 你在 Docker 中跑 MySQL?恭喜你,可以下岗了!
  2. 网络营销——浅析网站改版之后对网站展开新的网络营销有哪些影响?
  3. 百度之星 2019 预赛三 A 最短路 1
  4. nodejs常用组件
  5. 基于Nokia S60的游戏开发之一
  6. c语言中的switch语句中的break和continue的作用
  7. Python编程笔记(第一篇)Python基础语法
  8. 《越狱》的中国隐秘流行
  9. C# NPOI Excel 合并单元格和取消单元格
  10. Python一行代码实现ADF检验(时间序列平稳性检验)(包含结果解读)
  11. C# pdf转png图片
  12. php 判断华为手机,一招教你如何看穿华为手机的内存类型
  13. 众昂矿业赋能新能源暨氟化工产业高峰论坛圆满举行
  14. 中国企业说专列国庆开行 北京地铁一号线披上中国红迎国庆
  15. python过京东app图形验证勾股定理_Python模拟登陆 —— 征服验证码 7 京东
  16. Python 类变量,成员变量,静态变量,局部变量
  17. shopee引流方式有哪些,商家如何为自己店铺做引流?
  18. 如何创建 ESXi 安装程序 USB 闪存驱动器
  19. 爬虫之websocket数据爬取
  20. linux命令行连接百度网盘快速上传下载数据(bypy)

热门文章

  1. grbl控制3轴机械臂 原理 实现 (四) 之GRBL源码修改驱动三轴机械臂
  2. 惠普微型计算机w7系统,惠普笔记本电脑一键重装系统win7
  3. Android8.0以上的Service、Notification和广播适配问题
  4. 初步认识地图布局和指北针 - SuperMap iDesktop 8C
  5. MATLAB绘制“问题儿童表情包”动图2
  6. Windows下清理maven仓库中的lastUpdated文件
  7. 一篇文章读懂《麦肯锡极简工作法》
  8. matplotlib绘制初等函数图像-幂指对
  9. ORACLE按照拼音,部首,笔画排序
  10. 使用UAS-GAL4系统在果蝇中敲低某一基因的表达