跟随《第一行代码》从零基础到安卓应用上架

跟随《第一行代码》从零基础到安卓应用上架_第1张图片
第一行代码 封面

自从2008年谷歌推出 Android 的第一个版本之后,安卓的市场占有率就势如破竹,短短两年间就占据了手机操作系统的头把交椅,现如今已经占据了全球智能手机操作系统 70%以上的份额。如果你是打算从“零”开始加入到Android开发的阵营里,那么被誉为“Android开发第一书”的《第一行代码(第2版)》应该是你的不二之选。


Android 学习基础

当然,在写 Android 的第一行代码之前,还是要有些别的基础的,郭老师在开篇就做了介绍——

学习本书内容之前,你并不需要有任何的Android基础,但是你需要有一定的Java基础,因为Android开发都是使 用Java语言的,而本书并不会去专门介绍Java方面的知识。

我希望你已经是一个颇有经验的 Java 程序员,这样你理解本 书的内容时将会轻而易举,因为 Android 程序都是使用 Java 语言编写的。如果你对 Java 只是略 有了解,那阅读本书应该会有一点困难,不过一边阅读一边补充 Java 知识也是可以的。但如果 你对 Java 完全没有了解,那么我建议你可以暂时将本书放下,先买本介绍 Java 基础知识的书学上两个星期,把 Java 的基本语法和特性都学会了,再来继续阅读这本书。

由于本书使用的是Java 8,并且引入了Lambada表达式和函数式编程,所以即使有Java 的基础也应该再看看《Java 8实战》和《Java 8函数式编程》

跟随《第一行代码》从零基础到安卓应用上架_第2张图片
Java8

Android 开发环境

与本书第一版使用的eclipse不同,这次用了谷歌官方的 Android Studio,帮助我们简化了搭建开发环境的过程,将所有需要用到的工具都帮我们集成好了——使用Android Studio,这是安卓开发的大势所趋。当然下载Android Studio还要有些“科学上网”的方法,或者另走捷径,这些书中有所介绍,不再赘述。

郭老师在手把手的教我们安装好Android Studio之后,就开始教我们写Hello World了,郭老师教我们写的 Hello World 有何独特之处?看看某童鞋的评价——

本人年前根据网上教程自己搭建了安卓的开发环境,找了几个开源小项目就开始蒙着头研究,遇到不懂的就各种百度,做了一个月后,虽然也有不少收获,但总感觉脑子里是一团浆糊……看这本书评价挺好,就入手了一本。看了之后,才发现,原来安卓是这么系统这么有调理这么优秀的东西,瞬间豁然开朗了!


实战用户界面

手机App作为客户端应用,是直接与用户打交道的,而活动(Activity)作为安卓的四大组件之一,正是负责交互这部分的,是最基本也是最频繁使用的部分,可以说是基本功所在,一定要掌握好!第二章从实战角度出发,依次介绍了最常用的——Toast、Menu、Intent,以及Activity的生命周期、启动模式、最佳实践。我们跟着郭老师把第二章这一趟走下来,

毫不夸张地说,你在 Android 活动方面已经算是一个小高手了!

第三章主要介绍了Android的基本控件和基本布局,Android Studio 提供了可视化编辑器,允许使用拖放控件的方式来编写布局,并能在视图上直接修改控件的属性。使用过Visual Studio 做过桌面应用开发或者用过Dreamweaver做过网页的肯定对这种拖拽式布局不会陌生。当然郭老师并不推荐我们使用这种方式来编写界面,因为可视化编辑工具并不利于我们去真正了解界面背后的实现原理。就像写Web应用一定要熟悉HTML一样,我们做安卓开发也一定要完全掌握使用 XML来编写界面。

第四章的Fragment,主要功能是可以让界面在安卓平板上更好地展示,鉴于安卓平板并不是那么热门,这一章对于初学者而言其实可以略过。


广播

第五章介绍了四大组件之二 —— Broadcast,安卓依靠广播来实现消息的收发,结合界面部分学到的知识,本书教我们做了一些有趣的实践,比如App开发经常会接触到的用户登录。

值得一提的是,本章当中,郭老师顺带着把Git的概念和最基本的实践给我们安利了一遍,窃以为这种安排还是很有实战意义的,在后续的过程中我们也会持续用到Git对代码进行版本管理,有关Git的知识可以进一步参考《GitHub入门与实践》,关于Git在协同开发中的作用可以参考《Git团队协作》

跟随《第一行代码》从零基础到安卓应用上架_第3张图片
Git 实践

数据

程序的运行离不开数据,任何一个App,其实就是在不停地和数据打交道,没有数据的App就是一个空壳。第6-9章基本上就是围绕着各类数据展开。第6章首先涉及的是数据持久化,包含文件存储、 SharedPreferences存储以及数据库存储。第7章 Content Provider是安卓四大组件之一,涉及不同的应用程序之间实现数据共享的功能,并且详细介绍了安卓的权限机制。第8章首次教我们在实机上运行自己编写的App,并且教我们玩些有趣的东西——使用通知、 调用摄像头、从相册中选取照片、播放音频和视频文件等等。第9章则是通过网络与服务端进行数据交互,写过Web程序的童鞋对于这一章可能不会太陌生。


服务

服务(Service)是 Android 中实现程序后台运行的解决方案,适合去执行那些不需要和用户交互而且还要求长期运行的任务(比如偷偷的在后台跑个流量啊什么的就是它 )。第10章专门介绍安卓四大组件中的最后一项:服务。服务实现的核心是安卓多线程编程,熟悉Java的童鞋会比较容易上手,因为语法都是一样的。本章的实践以一个典型的多线程场景——下载文件为例,涉及第7、8 、9 、10 章的多项内容,综合程度很高,完成这个例子基本就算跨过安卓开发的入门门槛了。另外,如欲深入了解Java的多线程编程可以看结城浩的作品《图解Java多线程设计模式》

跟随《第一行代码》从零基础到安卓应用上架_第4张图片
图解Java多线程设计模式

进阶

完成了前面的内容后,我们已经成功脱离了安卓初级开发者的身份。第11-14章则从多方面介绍高级开发涉及的内容:基于位置服务很接地气的结合了百度的LBS SDK;Material Design教我们如何开发更有谷歌味道的漂亮UI;最后以一个很考验综合应用能力的天气软件实战收尾,让我们体验一把开发一个具有完整功能的App的全过程。当然,更加深入细致的知识,我们还要多看书、多实践、多学习 —— 《Android编程权威指南(第3版)》在等着你!

跟随《第一行代码》从零基础到安卓应用上架_第5张图片
Android编程权威指南(第3版)

总结

整本书学习下来的两大感觉就是:(1)入门容易,郭老师就像是坐在你的边上,手把手的教你,真是没法学不会啊!(2)接地气,结合了国内开发的实际,比如 LBS 用的是百度、广告用的是广点通、安卓市场用的是360,大大的方便了我们国内的开发者进行实践。

最后,还有啥不明白的就到郭老师的网站上去提问吧 http://guolin.tech

你可能感兴趣的:(跟随《第一行代码》从零基础到安卓应用上架)