Android开发实战从学习到产品(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-05 05:40:20

点击下载

作者:李瑞奇,王金柱

出版社:清华大学出版社

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

Android开发实战从学习到产品

Android开发实战从学习到产品试读:

前言

编写本书的目的

随着Android系统的迅猛发展,它已经成为全球范围内具有广泛影响力的操作系统,越来越多的厂商加入到Android的阵营,至2017年1月,Google公司对外公布,其旗下所属的Android系统全球市场占有率已经高达90%。各大中小型手机制造商近些年都在引入Android工程师,开发基于Android系统的智能手机。Android系统早就不仅仅是一款手机的操作系统,越来越广泛地应用于平板电脑、可佩戴设备、电视、数码相机等,造就了目前Android开发人才需求的快速增长。从大趋势上看,Android软件人才的需求将越来越大。

在这种背景下,Android开发学习者的队伍渐渐庞大起来,但是市场上适合Android开发者学习使用的书籍虽然并不少,但大多版本都已过时,有很多还是基于Android 4/5编写的,甚至有一些是基于Android 2.3的。Android发展到今天,已经推出了7.0版本,使用旧版本书籍进行学习会有诸多问题,严重时甚至会使读者开发的应用崩溃。另一个比较重要的问题是,几乎所有书籍使用的IDE都是Eclipse加ADT插件,但是,在大部分企业中Android开发早已使用Android Studio作为IDE了。这些都导致一些书籍的实用性大大下降。

本书由一线资深软件开发工程师基于目前广泛使用的Android 6/7和Android Studio 2.x开发环境倾力编撰,旨在帮助Android初学者和开发人员尽快掌握在Android Studio环境下进行应用开发的方法和技术。本书主要内容

本书共15章,各章内容说明如下:

第1章对Android的发展史与现状和Android系统的特性做简单介绍,讲解如何搭建Android开发环境,并介绍如何使用Android Studio来创建第一个Android程序。

第2章通过一个工程实例来阐述Android App是如何运行的,并引出Activity这一在Android开发中极其重要的组件。在本章中,系统地讲解了Activity的概念、生命周期、多个Activity之间的跳转,以及Activity的4种启动模式。另外,本章还介绍Intent在Activity组件中的应用,并且讲述如何使用Log。

第3章主要介绍布局管理器的作用,并介绍Android中的6种布局管理器,即LinearLayout、RelativeLayout、TableLayout、FrameLayout、AbsoluteLayout、GridLayout。所有的布局管理器既可以通过配置文件实现,也可以在Activity中用代码实现。布局管理器直接可以通过互相嵌套使用来实现更复杂的布局。

第4章系统地讲解在Android开发中常用的一些控件,同时结合控件讲解Android中的事件处理,对实际开发中经常使用的控件ListView进行了重点讲解。

第5章系统地讲述Fragment的使用场景、使用方法和生命周期,并将其与Activity的生命周期做比较,以便加深对Fragment的理解。同时,对ListFragment与DialogFragment这两个特殊的Fragment进行深入的讲解,对其用法和特性也都进行了分析。在本章最后还根据开发中的经验向读者阐释一些Fragment使用中常见的问题。

第6章非常详细地讲述ViewPager、RecyclerView这两个View控件的使用。这两个控件都是比较新的控件,在已有的Android开发书籍中很少提及,而在实际的开发过程中又经常使用,所以这里花较多篇幅对其讲解。同时,针对一些特殊情况,比如官方提供的控件无法解决的问题,如何通过自定义控件来解决也进行了讲解。

第7章主要讲解数据操作的内容,系统地讲述4种数据存储的具体方式。同时,本章引入动态权限的概念,提醒读者在使用Android6.0以上版本进行开发时,添加权限应该是动态获取,而不是静态获取。

第8章讲解Service是什么、Service的分类、为什么需要使用Service以及Service的几种使用方法,同时结合Service讲解Handler机制和AsyncTask的用法。

第9章阐述广播机制,并通过实例告诉读者如何使用系统广播,以及通过对普通广播和有序广播的介绍讲解如何自定义广播。另外,本章还讲述Android为了能够简单地解决广播的安全性问题而引入的一套本地广播机制——本地广播。

第10章对Android中的网络通信技术进行系统的分析与总结,讲解如何使用HTTP及Socket进行网络通信,同时针对一些特殊的需要讲解WebView的使用,重点介绍OkHttp这一实际开发中经常使用的、非常重要的HTTP请求框架。

第11章主要对Android系统中的各种多媒体技术进行学习,其中包括通知的使用技巧、调用摄像头拍照、从相册中选取照片、播放音频和视频文件,以及如何进行视频和音频的录制。此外,本章还介绍如何使用Android提供的API来接收、发送和拦截短信,这使得读者甚至可以编写一个自己的短信程序来替换系统的短信程序。

第12章主要以传感器和地理信息技术为例讲解Android中具有特色的一些功能:传感器和地理信息技术。具体来说就是介绍加速度传感器、光照传感器、方向传感器的使用,并根据它们的原理开发具有特殊功能的小应用;以及通过使用地理信息技术开发能够定位的应用,使用Geocoder类进行地理位置解析、获取具体的位置,通过使用第三方工具高德地图来展示位置。

第13章主要介绍VR这一热门技术,阐述VR的技术实现原理、存在的瓶颈以及当前的市场现状和市场前景,最后通过一个实例来讲解基于unity3D的Android平台VR应用开发。

第14章讲述Android NDK开发的背景以及优势,并详细讲解如何使用Android Studio进行Android NDK开发。

第15章通过一个完整的应用讲述在开发实践中如何将一个产品从需求变为实际可用的应用,并将其发布到应用市场。本书适合的读者

本书详细地介绍Android开发的各种知识和技术,从基础到实践,提供了大量代码示例和完整的项目案例,无论是初次接触Android开发的读者,还是想提高Android开发技能的程序员,包括大学生和企业互联网营销人员,都可以通过本书获益。

由于笔者水平有限,书中难免有欠妥之处,敬请广大读者批评指正。对于书中存在的问题,读者若有什么建议或意见可发信至527409323@qq.com,编者会在第一时间回复。本书示例源代码下载

为了方便读者学习,本书提供了对应的范例程序,下载地址为http://pan.baidu.com/s/1skOP8PB(区分英文字母大小写以及数字和字母)

如果下载有问题,请电子邮件联系booksaga@126.com,邮件主题为“Android开发实战:从学习到产品”。致谢

编者的很多知识都来源于互联网。互联网是一个丰富的知识资源库,只要你愿意探索总能获得有用的东西。感谢那些在互联网上免费分享知识资源的人们,是他们丰富了互联网的内涵,发扬了知识共享的精神,使得每个人可以平等地获取知识、得到进步。

感谢Google公司和它的Android开发团队,可以说是他们创造了这个移动互联网时代。

感谢清华大学出版社王金柱编辑的支持和鼓励,感谢他在本书编写与出版过程中的热情帮助和耐心指导。编者2017年2月8日第1章 初识Android

对于Android的初学者来说,对Android开发还是很陌生的,因此本章的重点就是向读者介绍Android的过去与现在,并对Android的系统架构做详细的介绍。同时,本章还将讲解如何搭建使用Android Studio作为IDE(集成开发环境)的Android开发环境,这是开发的基础,是应该熟练掌握的。本章最后通过一个简单的Android项目来展示Android Studio的基本使用、常见问题以及Android工程的基本目录。1.1 Android发展史与现状

2003年10月,Andy Rubin等人创建了与Android系统同名的Android公司,并组建了Android开发团队,最初的Android系统是一款针对数码相机开发的智能操作系统,之后被Google公司低调收购,并聘任Andy Rubin为Google公司工程部副总裁,继续负责Android项目。

自Android系统首次发布至今,Android经历了很多的版本更新。表1-1列出了Android系统不同版本的发布时间及对应的版本号。表1-1 Android各版本发布时间及代号

从Android 1.5版本开始,Android系统越来越像一个智能操作系统,Google开始将Android系统的版本以甜品的名字命名。随着Android系统近年来的快速普及与发展,越来越多的厂商加入到Android的阵营,至2016年5月,Google公司对外公布,其旗下所属的Android系统全球市场占有率已经高达85%。

Android系统是基于Linux的智能操作系统,2007年11月,Google与84家硬件制造商、软件开发商及电信运营商组建开发手机联盟,共同研发改良Android系统。随后Google以Apache开源许可证的授权方式发布了Android的源代码。也就是说Android系统是完整公开并且免费的,它的快速发展与这一点有很大关系。1.2 Android系统架构与特性

Android是什么?就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,“Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的软件块。”Android是一个软件系统,用于连接设备,并不是大家平时所说的操作系统。1.2.1 Android系统架构

Android的系统架构和其他操作系统一样,采用了分层的架构。从图1-1所示的架构图看,Android分为4层,从高层到低层分别是应用程序层(Application)、应用程序框架层(Application Framework)、系统运行库层(Libraries)和Linux内核层(Linux Kernel)。Android操作系统可以在4个主要层面上分为5部分。图1-1 系统架构图1.应用程序层

Android系统包含了一系列核心应用程序,包括电子邮件、短信SMS、日历、拨号器、地图、浏览器、联系人等。这些应用程序都是用Java语言编写的。本书重点讲解如何编写Android系统上运行的应用程序,在程序分层上,与系统核心应用程序平级。2.应用程序框架层

Android应用程序框架提供了大量的API,以供开发人员使用。Android应用程序的开发就是调用这些API,根据需求实现功能。

应用程序框架是应用程序的基础。为了软件的复用,任何一个应用程序都可以开发Android系统的功能模块,只要发布的时候遵循应用程序框架的规范,其他应用程序也可以使用这个功能模块。3.系统运行库层

Android系统运行库是用C/C++语言编写的,是一套被不同组件所使用的函数库组成的集合。一般来说,Android应用开发者无法直接调用这套函数库,都是通过上层的应用程序框架提供的API来对这些函数库进行调用。

下面对一些核心库进行简单的介绍。● Libc:从BSD系统派生出来的标准C系统库,在标准C系统库基

础之上为便携式Linux系统专门进行了调整。● Medio Framework:基于PacketView的OpenCORE,这套媒体库

支持播放与录制硬盘及视频格式的文件,并能查看静态图片。● Surface Manager:在执行多个应用程序时,负责管理显示与存

取操作间的互动,同时负责2D绘图与3D绘图进行显示合成。● WebKit:Web浏览器引擎,为Android浏览器提供支持。● SGL:底层的2D图像引擎。● 3D libraries:基于OpenGL ES 1.0 API,提供使用软硬件实现3D

加速的功能。● FreeType:提供位图和向量字体的支持。● SQLite:轻量级的关系型数据库。4.Android运行时

Android运行时由两部分完成:Android核心库和Dalvik虚拟机。其中核心库集提供了Java语言核心库所能使用的绝大部分功能,Dalvik虚拟机负责运行Android应用程序。

虽然Android应用程序通过Java语言编写,并且每个Java程序都会在Java虚拟机JVM内运行,但是Android系统毕竟是运行在移动设备上的,由于硬件的限制,Android应用程序并不使用Java的虚拟机JVM来运行,而是使用自己独立的虚拟机Dalvik VM(针对多个同时高效运行的虚拟机进行了优化)。每个Android应用程序都运行在单独的一个Dalvik虚拟机内,因此Android系统可以方便地对应用程序进行隔离。5.Linux内核

Android系统是基于Linux 2.6之上建立的操作系统。Linux内核为Android系统提供了安全性、内存管理、进程管理、网络协议栈、驱动模型等核心系统服务。Linux内核帮助Android系统实现了底层硬件与上层软件之间的抽象。1.2.2 Dalvik VM和JVM的区别

JVM(Java虚拟机)是一个虚构出来的运行Java程序的运行时,是通过在实际的计算机上仿真模拟各种计算机功能的实现。它具有完善的硬件架构(如处理器、堆栈、寄存器等),还具有相应的指令系统,使用JVM就是使Java程序支持与操作系统无关。理论上在任何操作系统中,只要有对应的JVM,即可运行Java程序。

Dalvik VM是在Android系统上运行Android程序的虚拟机,其指令集是基于寄存器架构的,执行特有的文件格式-dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等重要功能。

由于Android应用程序的开发编程语言是Java,而Java程序运行在JVM(Java虚拟机)上,因此有些人会混淆Android的虚拟机Dalvik VM和JVM,但是实际上Dalvik并未遵守JVM规范,而且两者也是互不兼容。

Dalvik VM和JVM的编译过程如下:● JVM:.java→.class→.jar● Dalvik VM:.java→.class→.dex

从它们的编译过程可以看出,JVM运行的是.class文件的Java字节码,但是Dalvik VM运行的是其转换后的dex(Dalvik Executable)文件。JVM字节从.class文件或者JAR包中加载字节码然后运行,而Dalvik VM无法直接从.class文件或JAR包中加载字节码,需要通过DX工具将应用程序所有的.class文件编译成一个.dex文件后再运行。

如图1-2显示了Dalvik VM与JVM编译过程的区别。图1-2 Dalvik VM与JVM编译过程的区别

从图1-2中可以看出,Dalvik VM把.java文件编译成.class后会对.class进行重构,整合基本元素(常量池、类定义、数据段),最后压缩写进一个.dex文件中。其中,常量池描述了所有的常量,包括引用、方法名、数值常量等;类定义包括访问标识、类名等基本信息;数据段中包含各种被VM指定的方法代码以及类和方法的相关信息和实例变量。这种把多个.class文件进行整合的方法大大提高了Android程序的运行速度,例如应用程序中多个类定义了字符串常量TAG,而在JVM中会编译成多个.class文件,每个.class文件的常量池中均包含这个TAG常量,但是Dalvik VM在编译成.dex文件之后,其常量池里只有一个TAG常量。

JVM和Dalvik VM还有一点非常重要的差异,就是基于的架构不同。JVM是基于栈的架构,而Dalvik VM是基于寄存器的架构。相对于基于栈的JVM而言,基于寄存器的Dalvik VM实现虽然牺牲了一些硬件上的通用性,但是在代码的执行效率上要更胜一筹。一般来讲,VM中指令的解释执行时间主要花费在以下3个方面:● 分发指令。● 访问运算数。● 执行运算。

其中,分发指令这个环节对性能的影响最大。在基于寄存器的Dalvik VM中可以更有效地减少冗余指令的分发,减少内存的读写访问。

从JVM和Dalvik VM的区别上来说,Dalvik VM主要是针对Android这个嵌入式操作系统的特点进行各种优化,使其更省电、更省内存、运行效率更高,但是牺牲了一些JVM与平台无关的特性。实际上,Dalvik VM本身就是为Android设计的,无须考虑其他平台的问题。这里只介绍JVM和Dalvik VM的两个重要区别,因为本书并不是讲解Android内核的,所以只点明了Dalvik VM的特点。读者对这部分的内容了解即可。1.2.3 Android系统平台的优势

Android系统相对于其他操作系统,有如下几点优势。1.开放性

首先就是Android系统的开放性,其开发平台允许任何移动终端厂商加入Android联盟,降低了开发门槛,使其拥有更多的开发者,随着用户和应用的日益丰富,也将推进Android系统的成熟。同时,开放性有利于Android设备的普及以及市场竞争力,有利于消费者买到更低价位的Android设备。2.丰富的硬件选择

同样由于Android系统的开放性,众多硬件厂商可以推出各种搭载Android系统的设备。现如今,Android系统不仅仅运行在手机上,越来越多的设备开始支持Android系统,如电视、可佩戴设备、数码相机等。3.便于开发

Google开放了Android的系统源码,给开发者提供了一个自由的开发环境,不必受到各种条条框框的束缚。4.Google服务的支持

Google公司作为一个做服务的公司,提供了地图、邮件、搜索等服务。Android系统可以对这些服务进行无缝结合。1.3 Android开发环境搭建

现在的Android开发环境有两种,一种是基于Eclipse+ADT(Android开发者工具)的开发环境,另一种是基于Android Studio的开发环境。目前,基于Eclipse+ADT的开发环境已经很少使用,主流是基于Android Studio的开发环境。本书的所有开发都是使用Android Studio进行的。

Android Studio是Google开发的一款面向Android开发者的IDE,支持Windows、Mac、Linux等操作系统,基于流行的Java语言集成开发环境IntelliJ搭建而成。该IDE在2013年5月的Google I/O开发者大会上首次露面,当时的测试版有各种莫名其妙的Bug。2014年12月8日发布了稳定版,自Android Studio 1.0推出后,Google官方逐步放弃了对Eclipse ADT的支持,并为Eclipse用户提供了工程迁移的解决办法。与Eclipse+ADT相比,Android Studio有很多优势:(1)Android Stuido是Google推出、专门为Android“量身订做”的,是Google大力支持的一款基于IntelliJ idea改造的IDE,Google的工程师团队肯定会不断完善,上升空间非常大,这个应该能说明为什么它是Android的未来。(2)Eclipse的启动速度、响应速度、内存占用一直被诟病,而且经常遇到卡死状态。Studio在这几个方面都全面领先Eclipse。(3)更加智能,提示补全对于开发来说意义重大,有了智能保存就再也不用每次都按Ctrl + S键了。熟悉Studio以后效率会大大提升。(4)整合了Gradle构建工具。Gradle是一个新的构建工具,Studio天然支持Gradle。Gradle集合了Ant和Maven的优点,不管是配置、编译还是打包都非常优秀。(5)Android Studio的编辑器非常智能,除了吸收Eclipse+ADT的优点之外,还自带了多设备的实时预览。(6)Studio内置终端,对习惯命令行操作的人来说是一个好消息,再也不用来回切换了,一个Studio即可全部搞定。(7)安装的时候就自带了GitHub、Git、SVN等流行的版本控制系统,可以直接check out项目。

Android开发是使用Java的,所有不管是用什么方式搭建Android开发环境,都需要先配置Java环境。因此搭建基于Android Studio的Android开发环境分为两步,第一步是搭建Java环境,第二步是安装Android Studio以及Android SDK。1.3.1 下载安装Java并配置环境变量

首先我们需要下载Java开发工具包JDK,下载地址为http://www.oracle.com/technetwork/ java/javase/downloads/index.html。在下载页面中选择接受许可,并根据系统选择对应的版本(本文以Window 64位系统为例),如图1-3所示。图1-3 下载Java开发工具包JDK

完成下载后JDK的安装根据提示进行,安装JDK的时候也会安装JRE,一并安装就可以了。安装JDK过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\Program Files(x86)\Java\jdk1.8.0_91(这里面的路径,读者可以根据需要自行设置。需注意的是,不能含有中文字符)。

安装完成后,需要配置环境变量。

右击“我的电脑”,单击“属性”,选择“高级系统设置”,如图1-4所示。图1-4 选择“高级系统设置”

选择“高级”选项卡,单击“环境变量”按钮,如图1-5所示,然后就会出现如图1-6所示的界面。

在“系统变量”中设置3项属性,即JAVA_HOME、PATH、CLASSPATH(不区分大小写),若已存在则单击“编辑”按钮,不存在则单击“新建”按钮。图1-5 单击“环境变量”按钮图1-6 “环境变量”对话框

变量参数设置(见图1-7~图1-9)如下:● 变量名:JAVA_HOME● 变量值:C:\Program Files(x86)\Java\jdk1.8.0_91(要根据自

己的实际路径配置)● 变量名:CLASSPATH● 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib

\tools.jar;(注意前面有个“.”)● 变量名:Path● 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;图1-7 设置JAVA_HOME图1-8 设置PATH

配置完成后,可以通过命令行窗口测试是否配置成功。通过“开始”→“运行”命令打开“运行”对话框,输入“cmd”后打开命令行窗口。输入命令“java”,出现如图1-10所示的信息。图1-9 设置CLASSPATH图1-10 在DOS界面输入“java”出现的信息

输入“javac”出现如图1-11所示的信息。图1-11 在DOS界面输入“javac”出现的信息

输入“java -version”出现如图1-12所示的信息(和下载的版本号一致)。图1-12 在DOS界面输入“java –version”测试版本信息

如果上述信息都没有问题,就说明Java环境已经搭建完成了。1.3.2 下载安装Android Studio和Android SDK

Android Studio安装包分为含Android SDK版本和不含Android SDK两版本,如果已经下载了SDK,那么完全可以下载不含SDK版本;如果下载了含SDK版本,那么既可以安装时选择自定义SDK,也可以安装后重新指定SDK路径。这里我们下载安装含SDK版本的Android Studio。

下载Android Studio需要访问Google官网,由于一些众所周知的原因,通过正常途径是访问不了的,虽然可以通过VPN来访问下载,不过这样的速度比较慢,因此建议读者通过国内的开源站下载。或者直接百度“Android Studio”,利用搜索页面上提供的Android Studio下载链接直接下载。这是百度提供的下载源,速度较快,而且下载包内直接包括了Android SDK。下载过程这里不做演示。

下载完成后,双击文件安装。整个安装过程很简单,大部分只需要单击Next或者Agree按钮即可。下载的Android Studio是集成了Android SDK的,所以在安装过程中,遇到选择插件时记得勾选上Android SDK。

安装好了以后,首次运行Android Studio一般都是可以成功的。Android Studio的启动过程如图1-13所示。图1-13 Android Studio的启动过程

第一次启动Android Studio时需要设置SDK的安装目录,因此会弹出如图1-14所示的对话框,选择安装时的安装目录就可以了。

打开Android Studio之后会进入一个新建项目或者打开已有项目的选择界面,如图1-15所示。图1-14 选择安装目录图1-15 Android Studio的欢迎界面

如果顺利地到达此步骤,就说明安装成功了。但是也有一种情况,启动界面会一直停在Fetching Android SDK component information(见图1-16)界图1-16 更新SDK被防火窗阻面。拦的停留界面

这是由于众所周知的一些原因导致的,比如谷歌公司在国内没有服务器、长城防火窗的存在(我国对因特网内容进行自动审查和过滤监控、由计算机与网络设备等软硬件所构成的系统)等。国内访问国外网络时会受到非常大的限制。解决办法就是关闭安装向导,如果无法关闭就在任务管理器中手动关掉进程(按Ctrl+Alt+Del组合键启动任务管理器),然后打开Android Studio安装目录下bin目录里的idea.properties文件,添加一条禁用开始运行向导的配置项:

然后启动程序,就会打开项目向导界面。这时单击Start a new Android Studio project是没有反应的,并且在Configure下面的SDK Manager是灰色的——因为没有安装Android SDK。这时一般可以采用以下两种做法:● 没有SDK时,需要从网络下载。打开向导的Configure-Settings,

在查找框里面输入proxy,找到下面的HTTP Proxy,设置代理服

务器,并且将Force https://… sources to be fetched using http://选

中,然后退出。将上面在idea.properties配置文件中添加的那条

配置项注释掉。重新打开Android Studio,等把Android SDK下载

安装完成就可以了。● 有SDK,重新指定SDK路径。打开向导的Configure→Project

Defaults→Project Structure,在此填入已有的SDK路径。

重启Android Studio就可以在向导里新建Android工程了,至此整个安装过程结束。1.4 Android Studio的使用与工程目录解析

完成了Android开发环境的安装之后就可以进行Android工程的开发了。本节我们将创建第一个Android应用,并通过这个应用的创建来介绍Android Studio开发环境的使用。同时,还将向读者介绍Android工程目录的内容。1.4.1 建立新的Android应用

新建工程,输入工程名、主包名和存储路径,如图1-17所示。图1-17 输入工程名、主包名和存储路径

连续单击Next按钮一直到如图1-18所示的步骤,在此处选择App要适配的设备(Wear、Phone and Tablet或TV)。图1-18 选择适配的设备

在新建App选择最低适配版本时,强大的Android Studio会给出一些有用的版本统计提示,单击Help me choose后弹出更加形象的分布图表描述,以帮助用户选择,如图1-19所示。图1-19 Android studio中版本统计提示

当选择完App要适配的设备以及版本支持之后会进入选择Activity类型的界面,如图1-20所示。这里我们选择一个Empty Activity。图1-20 选择Activity

单击Next按钮就会进入设置Activity名称的界面,如图1-21所示。这个名称可以根据需要随意设置。图1-21 设置Activity的名称

设置完成后就可以进入工程界面了。第一次安装工程初始化时需要联网下载Gradle,速度会比较慢,有时不是第一次安装也会慢,因为工程依赖的Gradle版本不匹配时也会自动重新下载。在等待一段时间之后,会进入如图1-22所示的工程界面。图1-22 新建工程界面

到此,一个使用Android Studio建立的Android工程就完成了。连接真机或者打开模拟器,单击上面的红色三角就可以运行这个Android应用了。1.4.2 创建模拟器并使用模拟器运行应用

Android模拟器是可以运行在计算机上的虚拟设备,无须使用物理设备即可预览、开发和测试Android应用程序。当你身边并没有合适的Android设备时,模拟器就是一个不错的选择。

在Android Studio主界面上方的工具栏中有一个名为AVD Manager的按钮,单击它就能打开Android虚拟设备管理器(Android Virtual Device,AVD)。第一次使用时并没有任何的虚拟设备,我们需要单击中央的Create a virtual device按钮来创建一台模拟器,如图1-23所示。

创建模拟器的第一步是选择硬件。你可以通过选择现有的设备模板来定义一台模拟器。在图1-24所示左侧的Category分类中可以选择要创建哪种类型的设备,通常是开发手机上的应用,所以选择Phone就可以了;右侧则显示了所有Google官方的设备模板,比如历年来发布的Nexus系列以及Google Phone系列。需要注意的是,此处只是选择型号对应的硬件条件,而不会选择该设备在发布时搭载的系统镜像。图1-23 新建一个模拟器图1-24 选择硬件

也就是说,你可以单击左下角的New Hardware Profile按钮定义一台设备的硬件配置和外观,或者通过Import Hardware Profiles按钮来导入现成的配置方案。

单击右下角的Next按钮,进入系统镜像选择界面,如图1-25所示。图1-25 选择系统镜像

我们常说某个Android手机是5.0或6.0的系统,这里的5.0或6.0就是指系统镜像的版本。同样,对于模拟器而言,也需要为其配置某个版本的系统镜像。你可以看到这里有6个镜像可供选择,这里选择第五项Android6.0版本支持x86的镜像,据官方文档报道此镜像的模拟器速度较快。

如果需要其他版本的系统,可以在Android SDK Manager中下载对应的系统镜像包,再进入AVD Manager就能看到它们了。

接着,单击右下角的Next按钮,进入确认配置界面,如图1-26所示。图1-26 确认配置界面

在这里,可以设置模拟器的名称。其他选项无须特别设置。在实

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载