第一行代码——Android(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-11-01 09:34:12

点击下载

作者:郭霖

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

第一行代码——Android(第2版)

第一行代码——Android(第2版)试读:

前言

虽然我从事Android开发工作已经很多年了,但是之前从来没有想过自己要去写一本Android技术相关的书。在我看来,写一本书可以算是一个很庞大的工程,写一本好书的难度并不亚于开发一款好的应用程序。

由于我长期坚持在CSDN上发表技术博文,因而得到了大量网友的认可,也积累了一定的名气。很荣幸的是,人民邮电出版社图灵公司的前副总编辑陈冰老师联系上了我,希望我可以写一本关于Android开发技术的书,这着实让我受宠若惊。

在写本书第1版的时候,我可以说是费了相当大的心思。写书和写博客最大的区别在于,书的内容不能像博客那样散乱,不能想到哪里写到哪里,而是一定要系统化,要循序渐进,基本上在写第1章的时候就应该把全书的内容都确定下来了。

令我非常欣慰的是,本书的第1版在推出之后获得了广大读者的强烈认可,在短短两年时间内,已经成为了国内最畅销的Android技术书。各大书店、图书馆都能看到《第一行代码》的身影,许多学校和培训机构也纷纷将《第一行代码》选为Android课程的教材。

不过,在科技高速发展的今天,各种技术的发展都是日新月异的。在两年的时间里,Android操作系统经历了5.0、6.0、7.0的飞速升级。不可否认的是,本书第1版中的不少知识点都已经过时,而且这两年间出现的很多新知识,第1版中也没有涵盖。因此,这让我坚定了写作本书第2版的想法。

刚开始写的时候,我以为只是小修小补,但事实上并没有我想象得那么轻松。除了介绍新知识点以外,书中之前的所有项目都需要重新编写和测试,以保证代码在新老系统上的兼容性。另外,由于Android从5.0系统开始,UI风格变化很大,因此第1版中所有的截图都需要更新。毫不夸张地说,我几乎重写了整本书。

而现在,你手中捧着的正是全新版的《第一行代码》,同时这也是国内第一本基于Android 7.0系统写作的技术书。我真诚地希望你可以用心去阅读这本书,因为每多掌握一份知识,你就会多一份喜悦。Enjoy it!

第2版的变化

由于第2版修改内容繁多,因此这里我只列举出最主要的变化。首先是开发工具上的改变,本书第1版使用的开发工具是Eclipse,而第2版使用了目前最新的Android Studio 2.2版本。另外,本书第1版是基于Android 4.x系统的,而第2版是基于Android 7.0系统的,其中囊括了新系统中的诸多知识点,包括Android 5.0系统中引入的Material Design、Android 6.0系统中引入的运行时权限和Doze模式、Android 7.0系统中引入的多窗口模式等。

除此之外,第2版还加入了Gradle、RecyclerView、百分比布局、OkHttp、Lambda表达式等全新知识点的讲解,内容将前所未有地充实。

读者对象

本书内容

通俗易懂,由浅入深,既适合初学者阅读,也同样适合专业人员。学习本书内容之前,你并不需要有任何的Android基础,但是你需要有一定的Java基础,因为Android开发都是使用Java语言的,而本书并不会去专门介绍Java方面的知识。

阅读本书时,你可以根据自身的情况来决定如何阅读。如果你是初学者的话,建议你从第1章开始循序渐进地阅读,这样理解起来就不会感到吃力。而如果你已经有了一定的Android基础,那么就可以选择某些你感兴趣的章节进行跳跃式的阅读。但请记住,很多章最后的最佳实践部分一定是你不想错过的。本书内容

正如前面所说,本书的内容是非常系统化的,不仅全面介绍了那些你必须掌握的知识,而且保证了各章的难度都是梯度式上升的。全书一共分为15章,涵盖了四大组件、UI、碎片、数据存储、多媒体、网络、定位服务等方方面面的知识。为了让你在学完所有内容之后还可以有综合运用的能力,本书的尾声部分还会带你一起开发一个天气预报程序,并教会你如何将程序发布到应用商店,以及如何在程序中嵌入广告盈利。

除此之外,本书的第5章、第7章、第11章、第14章中都穿插有对Git的讲解,如果想要掌握它的用法,这几章的内容是绝对不能错过的。

本书中各个章节的内容都相对比较独立,因此除了可以循序渐进地学习之外,你还可以把它当成一本参考手册,随时查阅。

源码下载

首先,我建议你在学习本书的时候将所有项目的源码都亲手敲上一遍,因为只有这样才能加深你对代码的理解。不过为了方便于你的学习,我还是提供了书中所有项目的源码,请仅在需要的时候再去参考(如下载项目中的图片资源)。切勿直接将源码复制粘贴就当成自己的东西了,只有亲手敲过的代码才真正是你自己的。

源码下载地址:https://github.com/guolindev/booksource。

致谢

在这近一年的时间里,我又完成了一项浩大的工程。和写作本书第1版时的感觉类似,当全书完稿之后,回顾整本书,我仍然不敢相信这所有的内容竟然是我一字字地敲出来的。

如今这已经是我写的第二本书了,和写第一本书时的情况不同,现在我有了更广的人脉和资源,有了更多的人愿意帮助和支持我来完成一本更好的技术书。因此,我要在这里对很多人表示感谢。

首先我要感谢我的父母,感谢你们将我抚养长大,感谢你们的付出,让我从小不用为生计、上学而发愁,可以一直做我自己想做的事情,也感谢你们指引我走上了技术这条路。

其次我要感谢我的妻子,感谢你每天为我准备好一日三餐,感谢你对我永远的包容,不管是平日的加班还是没日没夜的写书,你都一直默默地理解和支持我。

我还非常感谢本书第1版的编辑陈冰老师,如果没有你当初在CSDN上找到我,并邀请我写书,就不会有现在的《第一行代码》。另外,你也是当时唯一一个坚信这本书一定会大卖的人,甚至连我自己当时都没有如此的眼光。

我也非常感谢本书第2版的编辑张霞,你全程负责了第2版的出版工作,并且完成得非常出色。你对文字的把控能力让我敬佩,感谢你对书中每一章节的尽心审阅,才能让这本书更趋近于完美。

另外我还要特别感谢一部分人,你们在对本书的内容建议、勘误检查、代码纠错,甚至是对我个人的支持等方面都作出了卓越的贡献。有了你们的帮助,才会有这样一本更加出色的书呈现在所有人面前,这本书上也理应有你们的名字(按姓氏拼音排序,排名不分先后):

陈建林 陈俊杰 陈 雷 陈 龙 陈 琪 陈秀相 陈逸鸣 代云蛟 董霖轩 段郭森

高鹤泉 高太稳 关爱民 何以诚 胡恩泽 黄 楠 赖 帆 李济洲 李建友 李沛明

李 潭 李永鹏 李志云 林火荣 刘 萌 刘明渊 刘治国 陆德俊 罗亚超 吕国鑫

马文杰 覃文斌 孙建飞 王柏强 王光东 王 杰 王 龙 王路路 王 鹏 王荣宗

王善昌 韦振南 吴 波 吴宏权 吴绍志 徐 阳 轩仲宽 杨 辉 易静杰 查 童

张鸿洋 张英祥 赵翠龙 赵庆元 赵迎超 郑传书 郑敏馨 庄育锋 周 苏 朱海丰第 1 章

开始启程——你的第一行Android代码

欢迎你来到Android世界!Android系统是目前世界上市场占有率最高的移动操作系统,不管你在哪里,都可以看到Android手机几乎无处不在。今天的Android世界可谓欣欣向荣,可是你知道它的过去是什么样的吗?我们一起来看一看它的发展史吧。

2003年10月,Andy Rubin等人一起创办了Android公司。2005年8月谷歌收购了这家仅仅成立了22个月的公司,并让Andy Rubin继续负责Android项目。在经过了数年的研发之后,谷歌终于在2008年推出了Android系统的第一个版本。但自那之后,Android的发展就一直受到重重阻挠。乔布斯自始至终认为Android是一个抄袭iPhone的产品,里面剽窃了诸多iPhone的创意,并声称一定要毁掉Android。而本身就是基于Linux开发的Android操作系统,在2010年被Linux团队从Linux内核主线中除名。又由于Android中的应用程序都是使用Java开发的,甲骨文则针对Android侵犯Java知识产权一事对谷歌提起了诉讼……

可是,似乎再多的困难也阻挡不了Android快速前进的步伐。由于谷歌的开放政策,任何手机厂商和个人都能免费获取到Android操作系统的源码,并且可以自由地使用和定制。三星、HTC、摩托罗拉、索爱等公司都推出了各自系列的Android手机,Android市场上百花齐放。仅仅推出两年后,Android就超过了已经霸占市场逾十年的诺基亚Symbian,成为了全球第一大智能手机操作系统,并且每天都还会有数百万台新的Android设备被激活。而近几年,国内的手机厂商也是大放异彩,小米、华为、魅族等新兴品牌都推出了相当不错的Android手机,并且也获得了市场的广泛认可,目前Android已经占据了全球智能手机操作系统70%以上的份额。

说了这些,想必你已经体会到Android系统炙手可热的程度,并且迫不及待地想要加入到Android开发者的行列当中了吧。试想一下,十个人中有七个人的手机都可以运行你编写的应用程序,还有什么能比这个更诱人的呢?那么从今天起,我就带你踏上学习Android的旅途,一步步地引导你成为一名出色的Android开发者。

好了,现在我们就来一起初窥一下Android世界吧。1.1 了解全貌——Android王国简介

Android从面世以来到现在已经发布了二十几个版本了。在这几年的发展过程中,谷歌为Android王国建立了一个完整的生态系统。手机厂商、开发者、用户之间相互依存,共同推进着Android的蓬勃发展。开发者在其中扮演着不可或缺的角色,因为如果没有开发者来制作丰富的应用程序,那么不管多么优秀的操作系统,也是难以得到大众用户喜爱的,相信没有多少人能够忍受没有QQ、微信的手机吧。而且,谷歌推出的Google Play更是给开发者带来了大量的机遇,只要你能制作出优秀的产品,在Google Play上获得了用户的认可,你就完全可以得到不错的经济回报,从而成为一名独立开发者,甚至是成功创业!

那我们现在就以一个开发者的角度,去了解一下这个操作系统吧。纯理论型的东西也比较无聊,怕你看睡着了,因此我只挑重点介绍,这些东西跟你以后的开发工作都是息息相关的。1.1.1 Android系统架构

为了让你能够更好地理解Android系统是怎么工作的,我们先来看一下它的系统架构。Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。1. Linux内核层Android系统是基于Linux内核的,这一层为Android设备的各

种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、

蓝牙驱动、Wi-Fi驱动、电源管理等。2. 系统运行库层这一层通过一些C/C++库来为Android系统提供了主要的特

性支持。如SQLite库提供了数据库的支持,OpenGL|ES库提供了

3D绘图的支持,Webkit库提供了浏览器内核的支持等。同样在这一层还有Android运行时库,它主要提供了一些核

心库,能够允许开发者使用Java语言来编写Android应用。另

外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改

为ART运行环境),它使得每一个Android应用都能运行在独立的

进程当中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java

虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、

CPU性能有限等情况做了优化处理。3. 应用框架层这一层主要提供了构建应用程序时可能用到的各种API,

Android自带的一些核心应用就是使用这些API完成的,开发者也

可以通过使用这些API来构建自己的应用程序。4. 应用层所有安装在手机上的应用程序都是属于这一层的,比如系统

自带的联系人、短信等程序,或者是你从Google Play上下载的

小游戏,当然还包括你自己开发的程序。结合图1.1你将会理解得更加深刻,图片源自维基百科。图 1.1 Android系统架构1.1.2 Android已发布的版本

2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。随后的几年,谷歌以惊人的速度不断地更新Android系统,2.1、2.2、2.3系统的推出使Android占据了大量的市场。2011年2月,谷歌发布了Android 3.0系统,这个系统版本是专门为平板电脑设计的,但也是Android为数不多的比较失败的版本,推出之后一直不见什么起色,市场份额也少得可怜。不过很快,在同年的10月,谷歌又发布了Android 4.0系统,这个版本不再对手机和平板进行差异化区分,既可以应用在手机上,也可以应用在平板上。2014年Google I/O大会上,谷歌推出了号称史上版本改动最大的Android 5.0系统,其中使用ART运行环境替代了Dalvik虚拟机,大大提升了应用的运行速度,还提出了Material Design的概念来优化应用的界面设计。除此之外,还推出了Android Wear、Android Auto、Android TV系统,从而进军可穿戴设备、汽车、电视等全新领域。之后Android的更新速度更加迅速,2015年Google I/O大会上推出了Android 6.0系统,加入运行时权限功能,2016年Google I/O大会上推出了Android 7.0系统,加入多窗口模式功能,这也是目前最新的Android系统版本。

下表列出了目前主要的Android系统版本及其详细信息。你看到这张表格时,数据可能已经发生了变化,查看最新的数据可以访问http://developer.android.google.cn/about/dashboards/。2.2Froyo80.1%2.3.3 – 2.3.7Gingerbread101.5%4.0.3 – 4.0.4Ice Cream Sandwich151.3%Jelly Bean4.4KitKat1927.7%Lollipop6.0Marshmallow2318.7%7.0Nougat240.1%版本号系统代号API市场占有率4.1.x165.6%4.2.x177.7%4.3182.3%5.02113.1%5.12221.9%

从上表中可以看出,目前4.0以上的系统已经占据了超过98%的Android市场份额,因此我们本书中开发的程序也只面向4.0以上的系统,2.x的系统就不再去兼容了。1.1.3 Android应用开发特色

预告一下,你马上就要开始真正的Android开发旅程了。不过先别急,在开始之前我们再来一起看一看,Android系统到底提供了哪些东西,可供我们开发出优秀的应用程序。1. 四大组件Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。其中活动是所有Android应用程序的门面,

凡是在应用中你看得到的东西,都是放在活动中的。而服务就比

较低调了,你无法看到它,但它会一直在后台默默地运行,即使

用户退出了应用,服务仍然是可以继续运行的。广播接收器允许

你的应用接收来自各处的广播消息,比如电话、短信等,当然你

的应用同样也可以向外发出广播消息。内容提供器则为应用程序

之间共享数据提供了可能,比如你想要读取系统电话簿中的联系

人,就需要通过内容提供器来实现。2. 丰富的系统控件Android系统为开发者提供了丰富的系统控件,使得我们可

以很轻松地编写出漂亮的界面。当然如果你品位比较高,不满足

于系统自带的控件效果,也完全可以定制属于自己的控件。3. SQLite数据库Android系统还自带了这种轻量级、运算速度极快的嵌入式

关系型数据库。它不仅支持标准的SQL语法,还可以通过

Android封装好的API进行操作,让存储和读取数据变得非常方便。4. 强大的多媒体Android系统还提供了丰富的多媒体服务,如音乐、视频、

录音、拍照、闹铃,等等,这一切你都可以在程序中通过代码进

行控制,让你的应用变得更加丰富多彩。5. 地理位置定位移动设备和PC相比起来,地理位置定位功能应该可以算是

很大的一个亮点。现在的Android手机都内置有GPS,走到哪儿

都可以定位到自己的位置,发挥你的想象就可以做出创意十足的

应用,如果再结合功能强大的地图功能,LBS这一领域潜力无限。

既然有Android这样出色的系统给我们提供了这么丰富的工具,你还用担心做不出优秀的应用吗?好了,纯理论的东西就介绍到这里,我知道你已经迫不及待想要开始真正的开发之旅了,那我们就开始启程吧!1.2 手把手带你搭建开发环境

俗话说得好,“工欲善其事,必先利其器”,开着记事本就想去开发Android程序显然不是明智之举,选择一个好的IDE可以极大幅度地提高你的开发效率,因此本节我就将手把手带着你把开发环境搭建起来。1.2.1 准备所需要的工具

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

好了,既然你已经阅读到这里,说明你已经掌握Java的基本用法了,下面我们就来看一看开发Android程序需要准备哪些工具。● JDK。JDK是Java语言的软件开发工具包,它包含了Java的

运行环境、工具集合、基础类库等内容。需要注意的是,本书中

的Android程序必须要使用JDK 8或以上版本才能进行开发。● Android SDK。Android SDK是谷歌提供的Android开发工具

包,在开发Android程序时,我们需要通过引入该工具包,来使

用Android相关的API。● Android Studio。在很早之前,Android项目都是用Eclipse来

开发的,相信所有Java开发者都一定会对这个工具非常熟悉,它

是Java开发神器,安装ADT插件后就可以用来开发Android程序

了。而在2013年的时候,谷歌推出了一款官方的IDE工具

Android Studio,由于不再是以插件的形式存在,Android Studio

在开发Android程序方面要远比Eclipse强大和方便得多。不过由

于Android Studio早期的测试版本并不是非常稳定,所以本书的

第1版仍然选用Eclipse来作为开发工具。而如今,Android Studio

已经推出了2.2版本,稳定性完全不再是问题,普及程度方面也

远超Eclipse,没有比现在更适合的时机来换用Android Studio

了,因此本书中所有的代码都将在Android Studio上进行开发。1.2.2 搭建开发环境

当然,上述软件并不需要你去一个个地下载,因为谷歌为了简化搭建开发环境的过程,将所有需要用到的工具都帮我们集成好了,到Android官网就可以下载最新的开发工具,下载地址是:https://developer.android.google.cn/studio/index.html。不过,Android官网通常都需要科学上网才能访问,如果你无法访问的话,也可以直接到我的百度网盘去下载,下载地址是:https://pan.baidu.com/s/1nuABMDb。(注意网址中是阿拉伯数字1,而不是英文字母l。)

你下载下来的将是一个安装包,安装的过程也很简单,一直点击Next就可以了。其中选择安装组件时建议全部勾上,如图1.2所示。图 1.2 选择安装组件

接下来还会让你选择Android Studio的安装地址以及Android SDK的安装地址,这些根据你自己电脑的实际情况选择就行了,不想改动的话就保持默认,如图1.3所示。图 1.3 选择安装地址

后面就没什么需要注意的了,全部保持默认项,一直点击Next即可完成安装,如图1.4所示。图 1.4 安装完成

现在点击Finish按钮来启动Android Studio,一开始会让你选择是否导入之前Android Studio版本的配置,由于这是我们首次安装,这里选择不导入就可以了,如图1.5所示。图 1.5 选择不导入配置

点击OK按钮会进入到Android Studio的配置界面,如图1.6所示。图 1.6 Android Studio的配置界面

然后点击Next开始进行具体的配置,如图1.7所示。图 1.7 选择安装类型

这里我们可以选择Android Studio的安装类型,有Standard和Custom两种。Standard表示一切都使用默认的配置,比较方便;Custom则可以根据用户的特殊需求进行自定义。简单起见,这里我们就选择Standard类型了,继续点击Next完成配置工作,如图1.8所示。图 1.8 完成Android Studio配置

现在点击Finish按钮,配置工作就全部完成了。然后Android Studio会尝试联网下载一些更新,等待更新完成后再点击Finish按钮就会进入Android Studio的欢迎界面,如图1.9所示。图 1.9 Android Studio的欢迎界面

目前为止,Android开发环境就已经全部搭建完成了。那现在应该做什么?当然是写下你的第一行Android代码了,让我们快点开始吧。1.3 创建你的第一个Android项目

任何一个编程语言写出的第一个程序毫无疑问都会是Hello World,这已经是自20世纪70年代一直流传下来的传统,在编程界已成为永恒的经典,那我们当然也不会搞例外了。1.3.1 创建HelloWorld项目

在Android Studio的欢迎界面点击Start a new Android Studio project,会打开一个创建新项目的界面,如图1.10所示。图 1.10 创建新项目

其中Application name表示应用名称,此应用安装到手机之后会在手机上显示该名称,这里我们填入HelloWorld。Company Domain表示公司域名,如果是个人开发者,没有公司域名的话,那么就像我一样填example.com就可以了。Package name表示项目的包名,Android系统就是通过包名来区分不同应用程序的,因此包名一定要具有唯一性。Android Studio会根据应用名称和公司域名来自动帮我们生成合适的包名,如果你不想使用默认生成的包名,也可以点击右侧的Edit按钮自行修改。最后,Project location表示项目代码存放的位置,如果没有特殊要求的话,这里也保持默认就可以了。

接下来点击Next可以对项目的最低兼容版本进行设置,如图1.11所示。图 1.11 设置项目的最低兼容版本

前面已经说过,Android 4.0以上的系统已经占据了超过98%的Android市场份额,因此这里我们将Minimum SDK指定成API 15就可以了。另外,Wear、TV和Android Auto这几个选项分别是用于开发可穿戴设备、电视和汽车程序的,目前这几个领域在国内还没有普及,我们暂时就先忽略吧。接着点击Next会跳转到创建活动界面,这里我们可以选择一种模板,如图1.12所示。图 1.12 选择模板

可以看到,Android Studio提供了很多种内置模板,不过由于我们才刚刚开始学习,用不着这么多复杂的模板,这里直接选择Empty Activity来创建一个空的活动就可以了。

继续点击Next,可以给创建的活动和布局命名,如图1.13所示。图 1.13 给活动和布局命名

其中,Activity Name表示活动的名字,这里填入HelloWorldActivity,Layout Name表示布局的命名,这里填入hello_world_layout。然后点击Finish按钮,并耐心等待一会儿,项目就会创建成功了,如图1.14所示。图 1.14 项目创建成功1.3.2 启动模拟器

由于Android Studio自动为我们生成了很多东西,你现在不需要编写任何代码,HelloWorld项目就已经可以运行了。但是在此之前还必须要有一个运行的载体,可以是一部Android手机,也可以是Android模拟器。这里我们暂时先使用模拟器来运行程序,如果你想立刻就将程序运行到手机上的话,可以参考8.1节的内容。

那么我们现在就来创建一个Android模拟器,观察Android Studio顶部工具栏中的图标,如图1.15所示。图 1.15 顶部工具栏中的图标

其中,最左边的按钮就是用于创建和启动模拟器的,点击该按钮,会弹出如图1.16所示的窗口。图 1.16 创建模拟器

可以看到,目前我们的模拟器列表中还是空的,点击Create Virtual Device按钮就可以立刻开始创建了,如图1.17所示。图 1.17 选择要创建的模拟器设备

这里有很多种设备可供我们选择,不仅能创建手机模拟器,还可以创建平板、手表、电视等模拟器。

那么我就选择创建Nexus 5X这台设备的模拟器了,点击Next,如图1.18所示。图 1.18 选择模拟器的操作系统版本

这里可以选择模拟器所使用的操作系统版本,毫无疑问,我们肯定要选择最新的Android 7.0系统。继续点击Next,如图1.19所示。图 1.19 确认模拟器配置

在这里我们可以对模拟器的一些配置进行确认,比如说指定模拟器的名字、分辨率、横竖屏等信息,如果没有特殊需求的话,全部保持默认就可以了。点击Finish完成模拟器的创建,然后会弹出如图1.20所示的窗口。图 1.20 模拟器列表

可以看到,现在模拟器列表中已经存在一个创建好的模拟器设备了,点击Actions栏目中最左边的三角形按钮即可启动模拟器。模拟器会像手机一样,有一个开机过程,启动完成之后的界面如图1.21所示。图 1.21 启动后的模拟器界面

很清新的Android界面出来了!看上去还挺不错吧,你几乎可以像使用手机一样使用它,Android模拟器对手机的模仿度非常高,快去体验一下吧。1.3.3 运行HelloWorld

现在模拟器已经启动起来了,那么下面我们就开始将HelloWorld项目运行到模拟器上。观察Android Studio顶部工具栏中的图标,如图1.22所示。其中左边的锤子按钮是用来编译项目的,中间的下拉列表是用来选择运行哪一个项目的,通常app就是当前的主项目,右边的三角形按钮是用来运行项目的。图 1.22 顶部工具栏中的图标

现在点击右边的运行按钮,会弹出一个选择运行设备的对话框,如图1.23所示。图 1.23 选择运行设备对话框

可以看到,我们刚刚创建的模拟器现在是在线的,点击OK按钮,稍微等待一会儿,HelloWorld项目就会运行到模拟器上了,结果应该和图1.24中显示的是一样的。图 1.24 运行HelloWorld项目

HelloWorld项目运行成功!并且你会发现,模拟器上已经安装上HelloWorld这个应用了。打开启动器列表,如图1.25所示。图 1.25 查看启动器列表

这个时候你可能会说我坑你了,说好的第一行代码呢?怎么一行还没写,项目就已经运行起来了?这个只能说是因为Android Studio太智能了,已经帮我们把一些简单内容都自动生成了。你也别心急,后面写代码的机会多着呢,我们先来分析一下HelloWorld这个项目吧。1.3.4 分析你的第一个Android程序

回到Android Studio当中,首先展开HelloWorld项目,你会看到如图1.26所示的项目结构。图 1.26 Android模式的项目结构

任何一个新建的项目都会默认使用Android模式的项目结构,但这并不是项目真实的目录结构,而是被Android Studio转换过的。这种项目结构简洁明了,适合进行快速开发,但是对于新手来说可能并不易于理解。点击图1.26当中的Android区域可以切换项目结构模式,如图1.27所示。图 1.27 切换项目结构模式

这里我们将项目结构模式切换成Project,这就是项目真实的目录结构了,如图1.28所示。图 1.28 Project模式的项目结构

一开始看到这么多陌生的东西,你一定会感到有点头晕吧。别担心,我现在就对图1.28中的内容进行一一讲解,之后你再看这张图就不会感到那么吃力了。1. .gradle和.idea这两个目录下放置的都是Android Studio自动生成的一些文

件,我们无须关心,也不要去手动编辑。2. app项目中的代码、资源等内容几乎都是放置在这个目录下的,

我们后面的开发工作也基本都是在这个目录下进行的,待会儿还

会对这个目录单独展开进行讲解。3. build这个目录你也不需要过多关心,它主要包含了一些在编译时

自动生成的文件。4. gradle这个目录下包含了gradle wrapper的配置文件,使用gradle

wrapper的方式不需要提前将gradle下载好,而是会自动根据本

地的缓存情况决定是否需要联网下载gradle。Android Studio默认

没有启用gradle wrapper的方式,如果需要打开,可以点击

Android Studio导航栏→File→Settings→Build, Execution,

Deployment→Gradle,进行配置更改。5. .gitignore这个文件是用来将指定的目录或文件排除在版本控制之外

的,关于版本控制我们将在第5章中开始正式的学习。6. build.gradle这是项目全局的gradle构建脚本,通常这个文件中的内容是

不需要修改的。稍后我们将会详细分析gradle构建脚本中的具体

内容。7. gradle.properties这个文件是全局的gradle配置文件,在这里配置的属性将会

影响到项目中所有的gradle编译脚本。8. gradlew和gradlew.bat这两个文件是用来在命令行界面中执行gradle命令的,其中

gradlew是在Linux或Mac系统中使用的,gradlew.bat是在

Windows系统中使用的。9. HelloWorld.imliml文件是所有IntelliJ IDEA项目都会自动生成的一个文件(Android Studio是基于IntelliJ IDEA开发的),用于标识这是一个

IntelliJ IDEA项目,我们不需要修改这个文件中的任何内容。10. local.properties这个文件用于指定本机中的Android SDK路径,通常内容都

是自动生成的,我们并不需要修改。除非你本机中的Android

SDK位置发生了变化,那么就将这个文件中的路径改成新的位置

即可。11. settings.gradle这个文件用于指定项目中所有引入的模块。由于HelloWorld

项目中就只有一个app模块,因此该文件中也就只引入了app这

一个模块。通常情况下模块的引入都是自动完成的,需要我们手

动去修改这个文件的场景可能比较少。

现在整个项目的外层目录结构已经介绍完了。你会发现,除了app目录之外,大多数的文件和目录都是自动生成的,我们并不需要进行修改。想必你已经猜到了,app目录下的内容才是我们以后的工作重点,展开之后结构如图1.29所示。图 1.29 app目录下的结构

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载