关于我们
![]() ![]() |
Android 7编程入门经典/使用Android Studio 2 定 价:¥69.8 中 教 价:¥34.90 (5.00折) 库 存 数: 0 丛 书 名:移动开发经典丛书
这本指南书将教会您成功开发Android应用程序所需的一切。本书涵盖了Android应用程序开发的所有基础, 包括用户界面、网络、SMS消息传递、数据库、基于位置的服务和部署等。
本书基于真实范例提供了实践指导,极大地提高了读者的工作效率。快节奏而又适合初学者的内容规划涵盖了Android应用开发的所有阶段,从熟悉Android Studio到发布至应用市场。本专业指南完全以Android 7和Android Studio 2为开发环境,演示了如何便捷地为所有*新的Android设备开发应用。
在官方版本发布前,我刚开始使用AndroidSDK(SoftwareDevelopmentKit,软件开发套件)的版本是0.8。当时的开发工具不是很完善,SDK中的API(ApplicationProgrammingInterface,应用编程接口)也不稳定,开发文档也非常稀缺。但Android现在已经成为世界上最受欢迎的移动操作系统之一。
无论是出于兴趣爱好或是工作需要,每天有越来越多的开发人员使用AndroidStudio进行Android开发。对于许多想要进入Android开发世界的新开发者来说,他们所面临的问题是不知道从哪里开始学习。 这个困难一直在我脑海中不断地激励着我写好这本书。它不仅可以使Android开发初学者受益,而且帮助他们逐步编写出更复杂的应用程序。 写这本书是为了帮助那些刚刚入门的Android开发者,通过循序渐进的方式引入必要的主题,通过这种方式能够帮助你在学习过程中不被过多的细节淹没。我一直坚持的理念是“实践是最好的学习方法”。在每个章节中有许多的“试一试”段落教你如何开发,随后“示例说明”段落会给你解释它们是如何工作的。通过这个机会,我根据读者的反馈对本书的前一版进行了改进,并加入了更多对于Android入门开发者来说非常重要的主题。 虽然Android编程是一个很大的主题,但我撰写本书有三个目的:指导你从基础开始,帮助你理解SDK的底层架构,使你了解为什么事情是这样实现的。没有一本书是可以包含所有Android编程知识的。但是我可以非常自信地告诉你,当读完这本书(并做完其中的练习)以后,你已经为下一个Android编程挑战做好了充分准备。 本书读者对象 本书面向那些使用Google的AndroidSDK开发应用的Android初学者。为了更好地从本书中受益,读者需要有一定的编程知识,至少了解面向对象编程(Object-OrientedProgramming,OOP)概念。如果完全没有使用过Java——Android开发中使用的语言,最好先报名参加一个Java编程培训课程或者找一本比较好的Java编程书学习。根据我的经验,如果了解C#或VB.NET,学习Java不会有太大困难。如果你已经非常熟悉C#或VB.NET,应该可以轻松地从“试一试”开始学习。 对那些完全不懂编程的人来说,我知道开发移动应用并且赚点钱是非常吸引人的想法。但是,在尝试本书中的示例之前,我认为最好还是首先学习编程的基础知识。 本书内容 本书主要包含使用AndroidSDK进行Android编程的基础知识。内容被划分成12章和附录A。 ●第1章:Android编程入门。该章主要介绍AndroidOS(OperationSystem,操作系统)基础知识和现在的状态,也介绍了Android设备的主要特点和现在市场上主流的Android设备。你会掌握如何下载和安装AndroidStudio并使用它开发Android应用和在Android模拟器中测试应用。 ●第2章:使用AndroidStudio进行Android开发。该章介绍AndroidStudio中大部分的控件。你将了解IDE(IntegratedDevelopmentEnvironment,集成开发环境)和其组件。最后会发布一个完成的应用。 ●第3章:Activity、Fragment和Intent。该章介绍这三种组件在Android编程中的基本概念。Activity和Fragment用来构建Android应用区块。作为AndroidOS独有的特性,Intent把Activity连接起来生成一个完整的Android应用。 ●第4章:了解Android用户界面。该章介绍多个用于组建Android应用用户界面(UI)的组件。你将掌握多种布局用来构建应用用户界面。当用户与应用交互时,你还将学习许多和用户界面相关的事件。 ●第5章:使用视图的用户界面设计。该章介绍多个用来组建Android用户界面的基础视图。学习三种主要的视图类型:基础视图、选择器视图和列表视图。你也会了解在Android3.0和Android4.0中增加的Fragment组件。 ●第6章:使用视图显示图片和菜单。该章继续深入介绍视图。演示如何使用多种图片视图显示图片,以及如何在应用中显示选项和上下文菜单。章末会展示一些能够使应用更加有趣的酷炫视图。 ●第7章:数据持久化存储。该章介绍如何在Android应用中存储数据。除了介绍多个存储用户数据的技术外,也会提及文件操作,演示如何把文件保存到内部存储空间或外部存储空间(SD卡)。与此同时,你也会学习如何在Android应用中建立和使用SQLite数据库。 ●第8章:ContentProvider。该章讨论如何在同一台Android设备上不同的应用之间共享数据。你会学习如何使用contentprovider组件,然后自己构建一个contentprovider。 ●第9章:消息传送服务。该章介绍两个在移动手机编程中最有趣的主题——发送短信(SMS)和电子邮件。你会学习如何发送和接收短信和电子邮件,如何拦截发送来的短信使手机中内置的消息传送应用收不到任何消息。 ●第10章:基于位置的服务。该章演示如何使用Google地图建立一个基于地理位置服务的应用。你也将学习如何获得地理位置数据,在地图上显示此位置。 ●第11章:网络。该章介绍如何连接Web服务器下载数据。学习在Android应用中如何连接和处理XML和JSONWeb服务。该章也会解释socket编程,最后演示如何在Android中开发一个聊天客户端。 ●第12章:开发Android服务。该章演示如何使用服务编写应用。服务是不需要用户界面运行的后台应用。你将会学习如何在不同的线程上异步地运行服务,如何使Activity模块与它们通信。 ●附录A:习题答案。所有章节练习题的答案。 本书结构 本书把学习Android编程的任务分为几个小部分,使你在探索更高级的主题前更好地吸收和消化每一个主题。 如果你完全没有Android编程的经验,请从第1章开始学习。当你熟悉了基础知识,请阅读第2章并试着了解AndroidStudioIDE。当一切都准备就绪后,请继续学习第3章并且逐渐深入更高级的主题。 本书的一个特点是每个章节中所有的代码示例都是独立于前一个章节的。这使你能够更加灵活地学习你感兴趣的主题,试着从“试一试”项目开始。 使用本书的条件 本书中所有的代码示例都能在Android模拟器(AndroidSDK和AndroidStudio的一部分)中运行。当然,如果能有一台真实的Android设备会更好地掌握本书中的知识要点。 本书约定 为了帮助读者更好地理解本书内容并且保持正确的进度和方向,本书中有以下约定。 试一试这里是为你准备的练习和示例 “试一试”部分会在每章节中出现若干次。这是一些与你阅读内容相关的练习。 (1)练习有明确的步骤 (2)在你的项目文件中按照步骤操作 示例说明 在每一个“试一试”部分之后,都会有对代码详细的解释。 本书中的其他约定: ●键盘快捷键会这样表示:Ctrl+R ●文件名、URL(UniformResourceLocator,统一资源定位符)和文本中的代码片段在本书中会这样表示:persistence.properties 在某些特别重要的部分,我们加粗显示需要强调的代码。 源代码 读者在学习本书中的示例时,可以手动输入所有的代码,也可以使用本书附带的源代码文件。本书中使用的所有源代码都可以从www.wrox.com下载。下载源代码时,选择本书标题(使用搜索框或者标题列表)并在本书详情页面单击DownloadCode链接来获取所有的源代码。也可扫描封底的二维码获取本书的源代码。 源代码文件名在每一个“试一试”标题的最后都会明确显示。 下载源代码以后,只需要使用自己喜欢的解压缩软件进行解压缩即可。与此同时,也可以直接到Wrox代码下载主页www.wrox.com/dynamic/books/download.aspx浏览本书中的源代码,以及其他Wrox书中的代码。 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果你在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 要在网站上找到本书的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击BookErrata链接。在这个页面上可以查看Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是www.wrox.com/misc-pages/booklist.shtml。 如果在BookErrata页面上没有看到你找出的错误,请进入www.wrox.com/contact/techsupport.shtml,填写表单,发电子邮件,我们就会检查你的信息,如果是正确的,就在本书的勘误表中粘贴一个消息,我们将在本书的后续版本中采用。 p2p.wrox.com P2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在p2p.wrox.com上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新帖子时,会给你发送你选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。 在http://p2p.wrox.com上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,必须执行下面的步骤: (1)进入p2p.wrox.com,单击Register链接。 (2)阅读其内容,单击Agree按钮。 (3)提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。 (4)然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 提示: 不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。 加入论坛后,就可以发送新信息,回应其他用户的帖子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的SubscribetothisForum图标。 对于如何使用WroxP2P的更多信息,可阅读P2PFAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。
J.F.DiMarzio从1984年开始在TRS-80 II彩色计算机上使用BASIC编程语言开发游戏。如今,他是一名资深的Android工程师,在Android应用市场中拥有2个专业应用和1个游戏,并曾供职于美国国防部和华特迪士尼等多家公司。作为一名成功的作者,在过去的14年中他编写了13本图书。
第1章 Android编程入门 1
1.1 Android的定义 1 1.1.1 Android版本 2 1.1.2 Android功能 3 1.1.3 Android构架 3 1.1.4 市场中的Android设备 4 1.1.5 Android Market 6 1.2 准备开发所需的工具 6 1.2.1 Android Studio 6 1.2.2 Android SDK 12 1.2.3 创建Android虚拟机 13 1.2.4 Android开发者社区 20 1.3 运行你的第一个Android应用 20 1.4 小结 22 第2章 使用Android Studio进行Android开发 23 2.1 探讨IDE 23 2.2 使用代码自动补全功能 30 2.3 调试应用 31 2.3.1 设置断点 31 2.3.2 导航暂停的代码 35 2.4 发布应用 36 2.5 小结 38 第3章 Activity、Fragment和Intent 39 3.1 理解Activity 40 3.1.1 在Activity上应用样式和主题 45 3.1.2 隐藏Activity的标题 46 3.1.3 显示对话框 48 3.1.4 显示进度对话框 50 3.2 使用Intent链接Activity 53 3.2.1 使用Intent对象返回结果 57 3.2.2 使用Intent对象传递数据 62 3.3 Fragment 67 3.3.1 动态添加fragment 73 3.3.2 fragment的生命周期 76 3.3.3 fragment之间的交互 80 3.3.4 理解Intent对象的概念 83 3.3.5 使用Intent过滤器 85 3.4 显示Notification 85 3.5 小结 89 第4章 了解Android用户界面 91 4.1 屏幕组件介绍 91 4.1.1 视图和ViewGroup 93 4.1.2 FrameLayout 93 4.1.3 LinearLayout(水平)和LinearLayout(垂直) 94 4.1.4 TableLayout 103 4.1.5 RelativeLayout 105 4.1.6 FrameLayout 106 4.1.7 ScrollView 109 4.2 适配显示方向 111 4.3 管理屏幕的方向变化 114 4.3.1 在配置发生变化时保存状态信息 118 4.3.2 检测方向变化 119 4.3.3 控制Activity的方向 119 4.4 使用Action Bar 120 4.5 通过编程创建用户界面 129 4.6 监听UI通知 132 4.7 小结 132 第5章 基于视图的用户界面设计 135 5.1 使用基础视图 136 5.1.1 TextView视图 136 5.1.2 Button、ImageButton、EditText、CheckBox、ToggleButton、RadioButton、 RadioGroup视图 136 5.1.3 ProgressBar视图 145 5.1.4 AutoCompleteTextView视图 152 5.2 使用选择器视图 154 5.2.1 TimePicker视图 154 5.2.2 DatePicker视图 159 5.3 使用列表视图显示长列表 162 5.3.1 ListView视图 162 5.3.2 使用Spinner视图 171 5.4 理解专用fragment 173 5.4.1 使用ListFragment 173 5.4.2 使用DialogFragment 178 5.4.3 使用PreferenceFragment 181 5.5 小结 185 第6章 使用视图显示图片和菜单 189 6.1 使用Image视图显示图片 189 6.1.1 ImageView视图 190 6.1.2 ImageSwitcher 192 6.1.3 GridView 196 6.2 菜单与视图 200 6.2.1 创建辅助方法 200 6.2.2 选项菜单 202 6.2.3 上下文菜单 205 6.3 使用WebView 209 6.4 小结 212 第7章 数据持久化存储 215 7.1 保存和读取用户偏好 215 7.1.1 使用Activity访问偏好数据 216 7.1.2 编程获取和修改偏好数据 224 7.2 使用文件持久保存数据 227 7.2.1 保存到内部存储 227 7.2.2 保存到外部存储(SD卡) 232 7.2.3 正确选择最佳存储方式 234 7.3 创建和使用数据库 235 7.3.1 创建DBAdapter辅助类 235 7.3.2 通过编程使用数据库 241 7.4 小结 247 第8章 Content Provider 249 8.1 在Android中共享数据 249 8.2 使用content provider 250 8.2.1 预定义查询字符串常量 256 8.2.2 指定查询字段 258 8.2.3 筛选 259 8.2.4 排序 259 8.3 创建自定义content provider 260 8.4 使用自定义content provider 268 8.5 小结 274 第9章 消息传送服务 277 9.1 短信服务 277 9.1.1 通过编程发送短信 278 9.1.2 使用Intent发送短信 282 9.1.3 接收短信 282 9.1.4 警告 299 9.2 发送电子邮件 299 9.3 小结 302 第10章 基于位置的服务 303 10.1 显示地图 304 10.1.1 创建项目 304 10.1.2 获取地图API密钥 304 10.1.3 显示地图 305 10.1.4 显示缩放控件 306 10.1.5 切换视图 309 10.1.6 导航至指定位置 310 10.1.7 获取单击位置 312 10.1.8 地址编码与反向地址编码 313 10.2 获取位置数据 316 10.3 位置监控 324 10.4 小结 325 第11章 网络 327 11.1 使用HTTP访问Web服务 328 11.1.1 下载二进制数据 330 11.1.2 下载文本内容 337 11.1.3 使用GET方法访问Web服务 340 11.2 访问JSON服务 346 11.3 小结 354 第12章 开发Android服务 357 12.1 创建自己的服务 357 12.1.1 在服务中执行长时间运行的任务 362 12.1.2 在服务中执行重复任务 367 12.1.3 使用IntentService在独立线程中执行异步任务 370 12.2 在服务和Activity之间建立通信 373 12.3 将Activity与服务绑定 377 12.4 线程的概念 383 12.5 小结 388 附录A 练习答案 391
1.1.2Android功能因为Android是开源的并且生产商可以自由地定制,所以不存在固定的硬件或软件配置。然而,标准Android操作系统提供了许多功能,包括:●存储——SQLite,一个轻量级关系数据库,用来执行数据存储。第7章会详细讨论数据存储。●连接——GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth(蓝牙,包括A2DP和AVRCP)、Wi-Fi、LTE以及WiMAX。第11章会详细讨论网络连接。●消息传送——SMS和MMS。第9章会详细讨论消息传送。●多媒体——支持H.263、H.264(使用3GP或MP4容器)、MPEG-4SP、AMR、AMR-WB(使用3GP容器)、AAC、HE-AAC(使用MP4或3GP容器)、MP3、MIDI、OggVorbis、WAV、JPEG、PNG、GIF以及BMP。●硬件支持——加速度传感器、摄像头、数字指南针、距离传感器和GPS。●多点触控——多点触屏。●多任务——多任务应用。●热点——通过有线或者无线热点共享互联网连接。Android的网页浏览器基于开发开源项目WebKit和Chrome的V8JavaScript引擎。1.1.3Android构架要了解Android是如何工作的,请参考图1-1。图中展示了组成Android操作系统(OS)的各个层。Android操作系统被大致分为主要四层,共五大部分:●Linux内核(LinuxKernel)——这个是Android的内核。这一层包含了Android设备所有硬件组件的底层设备驱动。●代码库(Library)——这里包含了Android操作系统主要功能的代码。例如,SQLite库提供了数据库支持,应用可以使用它存储数据。WebKit库提供了网页浏览的功能。●Android运行库(AndroidRuntime)——Android运行库和代码库属于同一层。为开发者提供核心库,使开发者可使用Java编程语言编写Android应用。Android运行库同时包含Dalvik虚拟机,它使每一个Android应用运行在自己的进程上,并使用自己的Dalvik虚拟机实例(Android应用被编译成Dalvik可执行文件)。Dalvik是特Android7编程入门经典(第4版)使用AndroidStudio24别为Android设计的虚拟机,为有限的内存和CPU性能的电池供电移动设备做了特殊优化。应用应用框架库LINUX内核图1-1●应用框架(ApplicationFramework)——应用构架层为应用开发者开放了各种Android操作系统的功能,使开发者可以在自己的应用中使用。●应用层(Application)——最高层包含了Android设备上的原生应用(例如电话、通讯录、浏览器等),以及用户从AndroidMarket下载和安装的应用。所有你开发的应用也位于这一层。1.1.4市场中的Android设备在市场上能找到各种形状和尺寸的Android设备,包括但不局限于下面几种类型:●智能手机●平板电脑●电子阅读器●网路电视●自动驾驶汽车●智能手表很可能你至少拥有一个以上的上述设备。图1-2所示为Samsung(三星)GlaxyEdge7。另外一种比较流行的设备是平板电脑。平板电脑主要有7英寸和10英寸两种尺寸(对角线测量)。除了智能手机和平板电脑以外,Android也用在专用设备上,比如电子阅读器。图1-4第1章Android编程入门5所示为使用Android操作系统的由BarnesandNoble’s出品的NOOKColor电子阅读器。除了我前面提到的流行的移动设备,Android也出现在了我们的手腕上。智能手表以及可穿戴设备已经成为一个主要的Android分支。图1-3所示是摩托罗拉的Moto360智能手表,运行的是AndroidWear(专门为可穿戴设备设计的一个Android操作系统)。图1-2图1-3当笔者正在写作本书时,三星GalaxyNexus(见图1-4)是唯一运行纯净版本的Android的设备。许多生产商在Android操作系统上添加了自己的修改,以便用在他们特定的设备上。摩托罗拉的设备运行Motoblur,HTC的设备运行HTCSense等。然而,Nexus设备只会运行没有修改过的纯净版本的Android。图1-4Android7编程入门经典(第4版)使用AndroidStudio261.1.5AndroidMarket如前所述,应用是决定一个智能手机平台是否成功的关键要素之一。iPhone的成功就再一次印证了应用在决定一个新平台是否成功中扮演着多么重要的角色。与此同时,如何让普通用户更加方便快捷地下载和安装应用就变得极其重要。用户可以非常方便地使用预先安装在Android设备中的GooglePlay来获取第三方提供的应用。在GooglePlay商店中,用户可以下载各种付费和免费的应用。由于一些法律问题,付费应用只在某些国家开放下载和安装。1.2准备开发所需的工具现在你已经知道Android是什么并且知道它能做些什么,我相信你已经迫不及待地想要开发一些Android应用了。但是在开始开发第一个应用之前,还需要准备好一些必要的开发工具。可以在装有Mac、Windows或者Linux系统的电脑上开发Android应用。Android开发中所有的必备工具都是可以免费获取的。本书中几乎所有的程序示例都是在AndroidStudio中开发的。笔者使用的是Windows10操作系统。如果你使用的是Mac或者Linux系统,本书中出现的截图会和你在电脑中看到的大致相同。即使稍有区别,也不会影响你的操作过程。现在就让我们开始这段奇妙之旅吧!JavaJDK8使用AndroidStudio2需要在电脑上安装JavaSEDevelopmentKit8(JDK)。如果你的电脑上还没有安装JDK8,需要在进入下一步之前先到以下地址下载并安装JDK8:www.oracle.com/technetwork/java/javase/downloads/jdk8-download-2133151.html1.2.1AndroidStudio首先需要下载的最重要的开发工具是AndroidStudio2。当下载并安装了AndroidStudio2以后,就可以使用SDK管理器下载和安装多个不同版本的AndroidSDK。同时安装多个版本的AndroidSDK可以使你能够为不同设备开发应用。例如,你可以开发一个针对AndroidNougat的应用,但是现在只有不到1%的Android手机使用这个系统。由于安装了多个版本的AndroidSDK,因此也可以同时发布针对AndroidMarshmallow和AndroidLollipop用户的应用。可以使用Android设备管理器新建设备模拟器。注意:第13章将详细介绍GooglePlay商店以及如何在GooglePlay商店中销售自己开发的应用。第1章Android编程入门7可从以下地址下载AndroidStudio2(见图1-5):http://developer.android.com/sdk/index.html。图1-5AndroidStudio2打包在一个可执行文件中。运行该执行文件安装和配置AndroidStudio2。当下载并运行安装程序以后,可通过以下步骤完成安装:(1)接受如图1-6所示的使用条款。图1-6
你还可能感兴趣
我要评论
|