内容简介
《Android 4.X 开发完全上手——手把手构建完整Android App范例》从头构建一个功能完备的应用程序,从而带你熟练掌握现代Android编程技术。你将能使用Android 4.3工具集解决每个Android开发人员都会遇到的实际问题,并学习成功开发移动项目的最佳实践。如果你的Android开发经验很少,甚至从未开发过Android项目,但已经掌握了Java基础知识,那么《Android 4.X 开发完全上手——手把手构建完整Android App范例》无疑是你的理想之选。顶尖Android开发大师James Talbot和Justin McLean精心设计了涵盖整个开发过程的练习,指引你构建一个紧贴实用的自行车移动应用程序,来处理从“里程追踪”乃至“路线规划”的所有事项。每章环环相扣,一步步地夯实你的Android知识,最终获得一个可运行的完整应用程序。在学习过程中,你将可以积累实际编码经验,你的代码将使用Android最新功能,并在最广泛的设备上运行。你将学会运用成熟方案来解决Android开发过程中不时出现的棘手问题,如传感器数据失准和电池续航能力不足等,而这些是其他大多数Android图书常忽略的编程陷阱。
涵盖内容:在Windows和Mac上配置Android开发环境;快速创建一个可运行的简单应用程序,演示Android基本原理;熟悉Activity、Intent、Service和Resource等核心部件;构建一个可用的用户界面,然后使其更直观有效;为Android应用程序设计专业风格;使应用程序能感知位置;集成社交网络功能;构建高效的线程化应用程序;集成对数据库的支持,以便读写数据;提高应用程序运行速度,减少占用的内存和功耗;高效地测试和调试应用程序;轻松实现应用程序的国际化,从而在多个国家和语言区域中使用;通过Google Play和Amazon AppStore销售应用程序。
内页插图
目录
第1章 Android开发简介 1.1 了解Android的优势 1.2 构建本地应用程序 1.3 Android的历史 1.4 Android用户界面 1.5 Android应用程序 1.6 Google Play简介 1.7 小结
第2章 搭建开发环境 2.1 在Windows上安装Java JDK和JRE 2.2 在Windows上安装Eclipse集成开发环境 2.2.1 安装Eclipse 2.2.2 在Eclipse中配置Java JRE 2.2.3 熟悉Eclipse 2.3 在Windows上安装Android SDK 2.4 Mac系统上安装和使用Java 2.4.1 在Mac电脑上下载并安装JDK 2.4.2 在Mac上下载并安装Eclipse IDE 2.4.3 在Mac上下载并安装Android SDK 2.4.4 在Mac上安装Android Developer Tools插件 2.5 小结
第3章 创建第一个Android应用程序 3.1 创建Android应用程序 3.2 运行Android项目 3.2.1 创建Android虚拟设备 3.2.2 在AVD中运行应用程序 3.2.3 使用Android虚拟设备的最佳实践 3.2.4 在实际设备上安装Android应用程序 3.3 在Android项目中使用Lint 3.4 Android项目文件 3.4.1 XML布局文件 3.4.2 XML资源文件 3.4.3 XML文件中的ID属性及其在生成的文件中的作用 3.4.4 Activity文件 3.4.5 Activity的生命周期 3.4.6 访问Activity中的TextView 3.4.7 应用程序日志 3.4.8 Android清单文件 3.5 小结
第4章 创建Android用户界面 4.1 重构代码 4.2 实施Strict模式 4.3 创建一个简单的用户界面 4.3.1 线性布局的用法 4.3.2 创建按钮事件处理程序 4.3.3 更新计时器显示 4.3.4 显示正在运行的计时器 4.4 Activity生命周期 4.4.1 Android Activity生命周期 4.4.2 修复Activity生命周期问题 4.5 实现Android设备的振动 4.6 保存用户首选项 4.6.1 创建新的Activity 4.6.2 显示新的Activity 4.6.3 保存应用程序的状态 4.6.4 使用Shared Preferences 4.7 小结
第5章 提高Android应用程序可用性 5.1 重构代码 5.2 改善Setting Activity 5.2.1 显示Toast弹出窗口 5.2.2 使用后退按钮从Settings Activity返回 5.3 操作栏和菜单 5.3.1 创建菜单 5.3.2 创建一个操作栏 5.3.3 返回Home画面 5.4 使用通知 5.4.1 创建通知 5.4.2 显示或替换一个新的通知 5.4.3 定期显示通知 5.5 创建数据库 5.5.1 创建数据模型 5.5.2 创建数据库及其表 5.5.3 检查表的创建 5.5.4 创建表间的关系 5.5.5 创建路线列表视图 5.6 小结
第6章 自定义Android应用程序 6.1 重构应用程序 6.2 了解屏幕的差异 6.2.1 屏幕尺寸和屏幕密度 6.2.2 了解设备 6.3 使应用程序与分辨率无关 6.4 使用配置限定符 6.4.1 创建启动图标 6.4.2 创建通知图标 6.4.3 让应用程序适合不同的屏幕尺寸 6.4.4 使用资源尺寸 6.4.5 在Java代码中改变文字的大小 6.4.6 修改横屏模式的布局 6.4.7 修改平板电脑的布局 6.4.8 创建并排的视图 6.5 使用样式和主题 6.5.1 启用夜间模式 6.5.2 切换主题 6.5.3 检测亮度级别 6.5.4 处理不稳定的传感器值 6.6 小结
第7章 使应用程序支持位置感知 7.1 重构代码 7.2 定位设备的位置 7.2.1 在虚拟设备中测试GPS 7.2.2 GPS定位的精度 7.2.3 提高GPS定位的用户体验 7.2.4 显示Google Maps 7.3 处理不精确的位置数据 7.4 保存GPS数据 7.4.1 插入、更新和删除数据 7.4.2 更新模型 7.4.3 在应用程序中使用数据库 7.5 显示GPS数据 7.5.1 使用ListActivity 7.5.2 在Google地图中显示GPS数据 7.6 小结
第8章 集成社交网络 8.1 重构代码 8.2 将照片整合到Android应用程序中 8.2.1 拍照 8.2.2 检查是否可以拍照 8.2.3 在应用程序中显示相片 8.2.4 获得Activity的结果 8.3 与朋友分享内容 8.3.1 显示选择器 8.3.2 分享文本和图片 8.4 小结
第9章 优化性能、内存和电源管理 9.1 重构代码 9.2 让应用程序以服务形式运行 9.2.1 处理方向改变 9.2.2 创建服务 9.3 延长电池寿命 9.3.1 确定用电量 9.3.2 根据电量水平进行响应 9.3.3 定期检查电池 9.4 加快数据库运行速度 9.4.1 通过索引加速数据库 9.4.2 使用异步方式加速数据库 9.5 小结
第10章 测试应用程序 10.1 重构代码 10.2 使用JUnit进行测试 10.2.1 创建一个新的测试应用程序 10.2.2 提高测试覆盖率 10.2.3 加快测试速度 10.2.4 通过重构使测试更容易 10.3 使用Android JUnit 扩展来测试 10.3.1 测试Android Activity 10.3.2 创建Mock应用程序 10.3.3 测试Activity生命周期 10.3.4 进一步测试Activity 10.3.5 通过与UI的交互来测试 10.4 测试服务 10.5 使用Monkey测试 10.6 自动运行测试 10.6.1 从命令行运行测试 10.6.2 安装Jenkins 10.6.3 使用Git版本控制 10.6.4 Git Bash命令概述 10.6.5 使用Jenkins 10.7 在多种设备上测试 10.8 小结
第11章 针对不同设备和国家进行优化 11.1 重构代码 11.2 国际化 11.2.1 支持多语言 11.2.2 从简单的机器翻译开始 11.2.3 在用户的帮助下改善翻译结果 11.2.4 添加更多语言版本 11.3 适应各种方言 11.3.1 添加区域码 11.3.2 处理单词的变化:Route、Path、Trail和Track 11.4 处理各种语言格式 11.4.1 支持从右至左布局 11.4.2 处理日期、数字和货币的变体 11.5 支持向后兼容 11.5.1 使用Android支持库 11.5.2 Android版本检查 11.6 为各种屏幕尺寸进行构建 11.7 使用Fragment 11.8 小结
第12章 使用Google Play和Amazon Appstore来销售应用程序 12.1 建立媒体策略 12.1.1 使用Google Play 12.1.2 使用服务和API实现Google许可 12.2 在应用程序中使用广告 12.3 使用Amazon Appstore 12.4 小结
前言/序言
《Android 4.X开发完全上手:手把手构建完整Android App范例》:开启您的移动应用开发之旅 在当今这个移动互联网爆炸式增长的时代,Android操作系统以其开放性、灵活性和庞大的用户基础,成为了无数开发者追逐的舞台。掌握Android开发技能,意味着您将有机会参与到构建改变人们生活方式的应用程序的创作之中。本书——《Android 4.X开发完全上手:手把手构建完整Android App范例》——正是您踏上这条激动人心的移动应用开发之路的最佳起点。 本书的目标清晰而坚定:赋能读者,使其能够从零开始,独立构建出功能完备、用户体验出色的Android应用程序。 我们深知,对于初学者而言,理论知识的海洋固然重要,但更关键的是将知识转化为实践,通过亲手构建真实可运行的项目来加深理解和掌握。因此,本书摒弃了空泛的理论陈述,而是以“手把手”的实战教学为核心,通过精心设计的、循序渐进的应用程序范例,引导读者一步步深入Android开发的各个层面。 本书内容预览: 本书并非一本枯燥的API参考手册,而是一本充满实践指导的开发教程。我们将从最基础的概念讲起,逐步深入到Android开发的核心技术和常用组件,最终目标是让您能够独立思考并实现一个完整的、具有一定复杂度的Android应用。 Android开发环境的搭建与初步探索: 在开始编码之前,一个稳定高效的开发环境是必不可少的。本书将详细指导您如何安装和配置Android SDK,以及集成开发环境(IDE)——Android Studio。我们将一同熟悉IDE的界面布局、项目结构,并创建一个“Hello, World!”应用,让您体验从零到一构建第一个Android应用的成就感。这一过程中,您将初步了解Android项目的组成部分,如Manifest文件、资源文件等,为后续的学习打下基础。 Android应用的基本组件与生命周期: 理解Android应用的核心组件是掌握其运行机制的关键。本书将深入讲解Activity(活动)的概念,包括其生命周期(创建、启动、暂停、停止、销毁等)以及如何通过Intent(意图)在不同Activity之间进行导航和数据传递。您将学习如何设计用户界面,包括使用XML布局文件定义各种UI元素,如TextView、EditText、Button、ImageView等。同时,我们也会探讨Fragment(碎片)这一重要的UI构建模块,以及如何通过它们实现更灵活、更模块化的UI设计。 用户界面(UI)的设计与交互: 一个吸引人的用户界面是用户能否愉快使用应用的基础。本书将带领您探索Android UI设计的方方面面。您将学习如何利用各种布局管理器(如LinearLayout、RelativeLayout、ConstraintLayout)来组织UI元素,实现自适应不同屏幕尺寸的设计。我们还将深入讲解列表视图(ListView)和网格视图(GridView)的使用,以及如何通过Adapter(适配器)来高效地展示大量数据。更重要的是,您将学会如何响应用户的触摸、点击等交互事件,并据此更新UI或执行相应的逻辑操作。 数据存储与管理: 几乎所有的应用程序都需要存储和管理数据。本书将全面介绍Android提供的数据存储方案。您将学习如何使用SharedPreferences来存储简单的键值对数据,如用户偏好设置。更进一步,我们将深入讲解SQLite数据库的使用,包括如何创建数据库、定义表结构、执行CRUD(创建、读取、更新、删除)操作,以及如何有效地管理数据,保证应用的数据一致性和可靠性。对于需要更高级数据管理的场景,我们也会简要介绍ContentProvider(内容提供者)的概念,以及它在跨应用数据共享中的作用。 网络通信与数据获取: 现代Android应用大多需要与网络服务器进行通信,获取或发送数据。本书将指导您如何实现这一功能。您将学习如何使用HTTP协议,并通过Android提供的API(如HttpURLConnection、OkHttp库)来发送网络请求,获取JSON、XML等格式的网络数据。同时,我们也会介绍如何将获取到的数据解析并展示在UI上,以及如何处理网络异常,保证应用的稳定性。 多线程与异步处理: 为了避免UI阻塞,提高应用的响应速度,多线程和异步处理是必不可少的。本书将介绍Android中的多线程机制,包括Thread、Handler、AsyncTask等,帮助您理解如何在后台执行耗时操作,并将结果安全地更新到UI线程。您将学会如何编写高效的代码,让您的应用在处理复杂任务时依然流畅。 服务的应用与后台任务: 服务(Service)是Android中用于在后台执行长时间运行操作的组件,而无需用户交互。本书将深入讲解如何创建和管理Service,以及它们在后台音乐播放、数据同步等场景下的应用。您还将学习如何通过BroadcastReceiver(广播接收器)来响应系统级别的事件或应用内部的广播,实现组件间的解耦和通信。 构建一个完整的Android App范例: 理论结合实践,本书最大的亮点在于贯穿始终的、逐步深入的应用程序范例。从一个简单的待办事项列表应用,到具备网络数据加载和存储功能的日记本应用,再到更复杂的多功能应用,您将跟随我们一步步地完成这些项目的编码、调试和优化。每一个范例都将紧密结合前述的知识点,帮助您将所学知识融会贯通,并学会如何将这些零散的知识点组合成一个功能完整的、可发布的Android应用。 本书特色: 强调实践: 拒绝纸上谈兵,每一章都伴随具体的代码示例和项目构建过程,让您边学边做,快速上手。 循序渐进: 从基础概念到高级主题,内容安排合理,难度逐级提升,适合不同基础的读者。 贴近实战: 范例应用设计贴近实际需求,让您在学习过程中就能掌握构建真实世界应用的关键技术。 深入浅出: 用清晰易懂的语言解释复杂的概念,避免晦涩的技术术语,让学习过程更加轻松愉快。 全面覆盖: 涵盖Android开发的核心组件、UI设计、数据存储、网络通信等重要领域,为您构建坚实的开发基础。 谁适合阅读本书? 编程初学者: 即使您没有Android开发经验,只要具备一定的编程基础(如Java),本书都能引领您成功入门。 希望转向移动开发领域的程序员: 无论您来自Web开发、桌面应用开发还是其他领域,本书都能帮助您快速掌握Android开发的核心技能。 想要独立开发Android应用的爱好者: 如果您有一个创意的App想法,但苦于无从下手,本书将为您提供最直接、最有效的实现路径。 在校学生: 本书是学习Android开发、完成课程项目、提升实践能力的理想教材。 展望未来: Android开发技术日新月异,但万变不离其宗。本书聚焦于Android 4.X这一经典且稳定的版本,它为您打下的坚实基础,将使您能够更容易地理解和掌握后续Android版本的新特性和新技术。掌握了本书的内容,您将具备独立开发和维护Android应用程序的能力,为您的职业生涯或个人项目开启无限可能。 现在,就让我们一起翻开《Android 4.X开发完全上手:手把手构建完整Android App范例》,踏上这段充满创造与惊喜的移动应用开发之旅吧!