具体描述
基本信息
书名:Android手机程序设计实用教程(高等学校Java课程系列教材)
定价:39.00元
售价:26.5元,便宜12.5元,折扣67
作者:耿祥义 等
出版社:清华大学出版社
出版日期:2013-08-01
ISBN:9787302321002
字数:
页码:
版次:1
装帧:平装
开本:16开
商品重量:0.622kg
编辑推荐
教材认可度高:备受全国高等学校欢迎,被全国几十所高等学校选作教材。
资源形式丰富:提供教学资源,含PPT、源码。
内容新颖全面:突出Android手机应用开发的核心内容。注重教材的可读性和实用性。
实例真实丰富:例题都经过精心的考虑,即能帮助理解知识,同时又具有启发性和实用性。
讲解图文并茂:使用大量图表、图片进行归纳与分析,形象生动,便于学生自学。
代码规范统一:提供风格统一、格式规范的源代码,培养读者良好的编程习惯。
适用层次广泛:适合高等院校相关专业作为Android手机程序设计的教材,以及自学者和Android手机软件开发人员参考使用。
i-font-family:'Times New Roman''>内容全面、知识点详实:在内容讲授上力求详实和全面,细致解析每个知识点和各知识点的联系。
图文并茂:全书用于300多幅图来表述和讲解数据的组织结构和算法设计思想。
力求归纳各类算法设计的规律:如单链表算法中很多是基于建表算法的,二叉树算法中很多是基于遍历算法的,图算法中很多是基于深度优先遍历的,如果读者掌握了建表算法、二叉树的遍历算法和图遍历算法,那么设计相关算法就会驾轻就熟了。
深入讨论递归算法设计方法:递归算法设计是数据结构课程中难点之一,作者从递归模型入手,介绍了从求解问题中提取递归模型的通用方法,讲解了从递归模型到递归算法设计的基本规律。
实践项目丰富:每个知识点都列举实例进行讲解,尽可能避免枯燥乏味的理论解释。
教学资源包完整:提供PPT、源程序代码、练习题参考答案,方便教师教学和学生学习。
内容提要
手机已经进入智能手机时代,基于Android操作系统的智能手机正在受到广泛的关注,市场对Android手机应用程序的需求正在迅速增长,因此,学习开发Android手机程序是非常有意义的。
《Android手机程序设计实用教程/高等学校Java课程系列教材》注重Android系统的特点,特别是手机程序设计的特点,使用Android4.2,重点讲解Android手机应用开发的核心内容。
《Android手机程序设计实用教程/高等学校Java课程系列教材》注重教材的可读性和实用性,许多例题都经过精心的考虑,既能帮助读者理解知识,同时又具有启发性和实用性。全书共分12章,分别是Android简介与开发环境、Android应用程序的结构、常用View视图、常用ViewGroup视图、常用专用视图、菜单、动作栏与对话框、2D绘图、Intent对象、常用后台对象、使用SD卡、文件的读写、使用SQLite数据库等内容。
《Android手机程序设计实用教程/高等学校Java课程系列教材》适合高等院校相关专业作为Android手机程序设计的教材,以及自学者和Android手机软件开发人员参考使用。
目录
章Android简介与开发环境
1.1Android简介
1.2搭建Android开发环境
1.3创建虚拟设备
1.4开发Android手机程序
1.5安装与卸载Android程序
1.6工程中一些重要的文件
1.7Android的帮助文档
1.8AndroidSDK Eclipse环境
习题1
第2章Android程序的结构
2.1Activity对象与程序的基本结构
2.2Android应用程序的配置文件
2.3设置主要的Activity对象
2.4Activity对象的外观及状态
2.5视图资源
2.6值资源
2.7图像资源
2.8获取资源
习题2
第3章常用View视图
3.1View视图的常用属性与度量值
3.2TextView视图
3.3EditText视图
3.4Button视图
3.5ToggleButton视图
3.6CheckBox视图
3.7RadioButton视图
3.8Spinner视图
3.9ListView视图
3.10动态创建Spinner视图和ListView视图
3.11GridView视图
3.12ScrollView视图
3.13HorizontalScrollView视图
3.14使用样式资源简化视图文件
习题3
第4章常用的ViewGroup视图
4.1LinearLayout视图
4.2RelativeLayout视图
4.3TableLayout视图
4.4TabHost视图
4.5GridLayout视图
4.6FrameLayout视图
4.7AbsoluteLayout视图
习题4
第5章常用的专用View视图
5.1DigitalClock视图、AnalogClock视图与CalendarView视图
5.2DatePicker视图与TimePicker视图
5.3ImageView视图与ImageButton视图
5.4Chronometer视图
5.5Toast视图
5.6ProgressBar视图
5.7VideoView视图
5.8WebView视图
习题5
第6章菜单、动作栏与对话框
6.1菜单资源
6.2选项菜单
6.3上下文菜单
6.4弹出式菜单
6.5动作栏
6.6动作栏与选项菜单
6.7AlertDialog对话框
6.8DatePickerDialog对话框与TimePickerDialog对话框
……
第7章2D绘图
第8章Intent对象与Activity对象
第9章常用后台对象
0章使用SD卡
1章文件的读写
2章使用SQLite数据库
作者介绍
耿祥义,1995年中国科学技术大学博士毕业,获理学博士学位。1997年从中山大学博士后流动站出站,现任大连交通大学教授。有多年讲授Java语言的经验,已编写出版十余部教材。
文摘
序言
《Android手机程序设计实用教程》(高等学校Java课程系列教材) 内容概述 本书旨在为高校计算机专业学生提供一套系统、实用的Android手机应用程序开发教程。全书紧密结合当前Android开发的主流技术和实际应用需求,以Java语言为基础,由浅入深地讲解Android应用程序的设计、开发、调试及发布流程。全书内容结构清晰,逻辑性强,理论与实践并重,力求帮助读者掌握Android开发的核心技能,为将来从事移动互联网开发打下坚实的基础。 第一部分:Android开发基础 本部分将带领读者走进Android的世界,建立对Android平台及其开发环境的基本认知。 第一章 Android概述 1.1 移动互联网的兴起与Android的重要性 简述移动互联网的发展历程,分析智能手机在现代生活中的地位和作用。 阐述Android作为开源移动操作系统在全球范围内的普及度和市场份额。 探讨Android开发为何成为当下热门的就业方向和技术领域。 1.2 Android平台架构剖析 详细介绍Android平台的五层架构:Linux内核层、HAL层、Android运行时层、Java API框架层、应用程序层。 阐释各层的作用和相互关系,例如Linux内核提供了底层硬件驱动和进程管理,Java API框架提供了丰富的开发接口。 理解Android如何利用Linux强大的底层能力,并在此之上构建用户友好的开发环境。 1.3 Android开发环境搭建 指导读者下载和安装Android Studio集成开发环境(IDE)。 详细介绍Android Studio的安装步骤,包括JDK的配置、SDK的下载与管理。 讲解如何创建和配置Android虚拟机(AVD),以及连接真机进行调试的基本操作。 介绍Android Studio的核心功能,如代码编辑器、布局编辑器、调试器、性能分析工具等,为后续开发做好准备。 1.4 第一个Android应用程序“Hello, World!” 引导读者创建第一个简单的Android应用程序项目。 讲解项目的基本构成,包括Manifest文件、res目录(layout, drawable, values等)、Java源代码目录。 深入分析“Hello, World!”应用的MainActivity.java和activity_main.xml文件,理解Activity、View、Layout等基本概念。 演示如何运行应用程序,并在模拟器或真机上查看运行结果,建立初步的成就感。 第二章 Android应用程序组件 2.1 Activity:应用程序的入口与生命周期 深入讲解Activity的概念,它是用户与应用程序交互的主要界面。 详细阐述Activity的生命周期(onCreate, onStart, onResume, onPause, onStop, onDestroy),并结合图示解释不同状态的转换。 讲解如何在Activity中处理用户交互事件,如按钮点击、文本输入等。 介绍Activity之间的导航和数据传递,如startActivity()、startActivityForResult()、Intent的flags等。 2.2 Service:后台运行的组件 介绍Service的作用:执行长时间运行的操作,提供不能直接与用户交互的功能。 讲解Service的创建、启动(startService)、绑定(bindService)以及停止。 阐述Service的生命周期,与Activity的生命周期进行对比。 通过实例讲解Service在音乐播放、数据同步等场景下的应用。 2.3 Broadcast Receiver:广播接收器 讲解Broadcast Receiver的概念,用于接收和响应系统级别的广播通知或自定义广播。 介绍如何注册和实现Broadcast Receiver,包括静态注册和动态注册。 演示如何发送自定义广播,以及如何处理各种系统广播,如来电、短信、网络状态变化等。 2.4 Content Provider:数据共享的桥梁 讲解Content Provider的作用:在应用程序之间共享和管理数据。 介绍Content Provider的 CRUD(Create, Read, Update, Delete)操作。 讲解ContentResolver,它是访问Content Provider的客户端。 通过实例说明如何创建自己的Content Provider,以及如何访问系统提供的Content Provider(如联系人、媒体库)。 2.5 Intent:组件间的通信机制 详细讲解Intent的作用:它是应用程序组件之间进行通信的信使。 区分显式Intent和隐式Intent,并讲解其使用场景。 讲解Intent的组成部分:Action、Data、Category、Type、Component、Extras。 通过实例展示如何使用Intent启动Activity、Service、Broadcast Receiver。 第三章 用户界面(UI)设计与开发 3.1 布局管理器(Layouts) 介绍Android UI设计的基本原则,以及XML布局文件的作用。 详细讲解常用的布局管理器:LinearLayout、RelativeLayout、FrameLayout、GridLayout、ConstraintLayout。 分析每种布局管理器的特点、适用场景以及如何嵌套使用以实现复杂的界面布局。 讲解如何通过XML属性设置控件的尺寸、边距、对齐方式等。 3.2 常用UI控件(Widgets) 介绍TextView、EditText、Button、ImageView、CheckBox、RadioButton、ToggleButton等基础控件的使用。 讲解Spinner(下拉列表)、ListView(列表)、GridView(网格视图)等复杂控件的用法。 深入讲解AdapterView和Adapter的概念,以及如何为ListView和GridView等控件填充数据。 演示如何为控件设置各种属性,如文本、图片、颜色、背景、点击事件等。 3.3 菜单、对话框与通知 讲解如何创建和管理应用程序菜单,包括选项菜单(Options Menu)和上下文菜单(Context Menu)。 介绍如何使用AlertDialog、DatePickerDialog、TimePickerDialog等创建各种对话框,与用户进行交互。 讲解如何发送和处理通知(Notification),提醒用户后台发生的事件。 演示如何自定义菜单、对话框和通知的样式。 3.4 资源管理 详细介绍Android的资源类型,包括字符串(strings.xml)、颜色(colors.xml)、尺寸(dimens.xml)、图片(drawable)、布局(layout)等。 讲解如何为不同屏幕密度、不同语言环境定义不同的资源,实现应用程序的国际化和本地化。 介绍res/values目录下的各种XML资源文件的作用。 第二部分:Android开发核心技术 本部分将深入探讨Android开发中的关键技术和高级概念,帮助读者构建更强大、更复杂的应用程序。 第四章 数据存储 4.1 SharedPreferences:轻量级数据存储 介绍SharedPreferences的特点:键值对存储,适合存储少量配置信息。 讲解如何使用SharedPreferences存储和读取简单数据类型(布尔型、整型、浮点型、字符串型等)。 演示在应用程序设置界面中应用SharedPreferences的常见场景。 4.2 文件存储:内部存储与外部存储 区分Android的内部存储和外部存储。 讲解如何读写内部存储文件,以及其安全性和访问权限。 介绍外部存储的特点、优点和缺点,以及如何访问公共外部存储和私有外部存储。 讲解存储权限的管理。 4.3 SQLite数据库:结构化数据存储 介绍SQLite数据库在Android中的应用,适合存储大量结构化数据。 讲解SQLiteOpenHelper类的作用,用于创建和升级数据库。 学习SQLiteDatabase类的常用方法,进行SQL语句的执行(CRUD操作)。 介绍Cursor接口,用于读取查询结果。 讲解如何封装数据库操作,提供更友好的API。 4.4 Content Provider:数据共享与访问 重温Content Provider在数据存储中的作用,特别是与其他应用共享数据。 讲解如何通过Content Provider访问系统提供的数据库,如联系人、短信等。 深入讲解自定义Content Provider的实现,包括URI匹配、权限控制等。 4.5 新一代存储方案:Room Persistence Library 介绍Jetpack组件中的Room Persistence Library,它提供了SQLite抽象层,简化数据库操作。 讲解Room的实体(Entity)、DAO(Data Access Object)和Database的概念。 演示如何使用Room进行数据库的定义、创建和数据访问,显著提高开发效率和代码质量。 第五章 网络通信 5.1 HTTP协议基础与Android网络访问 简述HTTP协议的工作原理,请求方法(GET, POST等)和响应码。 介绍Android应用程序进行网络访问的权限(Internet permission)。 讲解使用Android SDK自带的HttpURLConnection类进行网络请求。 5.2 现代网络请求库:Volley与Retrofit 介绍Volley库:Google官方推出的HTTP请求库,支持JSON解析、缓存等功能。 详细讲解Volley的基本使用流程,包括创建RequestQueue、构建Request(StringRequest, JsonObjectRequest等)以及处理响应。 介绍Retrofit库:Square公司开发的类型安全的HTTP客户端,与OkHttp配合使用。 讲解Retrofit的注解(Annotations)使用方式,如何定义API接口,以及如何实现网络请求。 对比Volley和Retrofit的优缺点,以及适用场景。 5.3 JSON数据解析 介绍JSON(JavaScript Object Notation)作为一种常用的数据交换格式。 讲解如何使用Android SDK自带的JSONObject和JSONArray类进行JSON数据的解析。 介绍第三方JSON解析库,如Gson和Jackson,及其便捷的用法。 演示如何将JSON数据解析成Java对象,以及如何将Java对象序列化为JSON数据。 5.4 WebSockets与实时通信 介绍WebSockets协议,它提供了客户端与服务器之间的全双工通信通道。 讲解WebSockets在实时聊天、游戏、股票行情等应用中的优势。 介绍Android中实现WebSockets通信的常用库(如okhttp-ws)。 第六章 线程与异步处理 6.1 Android中的多线程 解释Android主线程(UI线程)的概念,以及为什么不能在主线程执行耗时操作。 讲解Java的多线程机制:Thread类和Runnable接口。 介绍如何创建和管理子线程,并在子线程中执行耗时任务。 6.2 Handler、Looper与MessageQueue 深入讲解Handler、Looper和MessageQueue的工作机制,它们是Android中实现线程间通信的核心。 讲解Handler如何创建和发送Message,以及如何处理Message。 Looper如何轮询MessageQueue,并将Message分发给Handler。 通过实例讲解如何在子线程更新UI。 6.3 AsyncTask:简化异步任务 介绍AsyncTask类,它提供了一种方便的在后台线程执行操作并更新UI的方式。 讲解AsyncTask的几个核心方法:doInBackground()、onPreExecute()、onProgressUpdate()、onPostExecute()。 分析AsyncTask的生命周期和使用注意事项,以及其在Android 3.0之后可能存在的线程池问题。 6.4 RxJava与响应式编程 介绍RxJava:一个基于观察者模式的响应式编程框架。 讲解RxJava的核心概念:Observable(被观察者)、Observer(观察者)、Subscriber、Operator、Scheduler。 演示如何使用RxJava进行异步操作、事件流处理,以及简化复杂的并发编程。 阐述响应式编程在Android开发中的优势,如代码可读性、可维护性提升。 第七章 后台服务与任务管理 7.1 Service的深入应用 重温Service的概念,并讲解前台Service(Foreground Service)和后台Service的区别。 介绍如何创建前台Service,并实现通知栏的显示,确保Service在系统内存不足时不易被杀死。 讲解IntentService:一种继承自Service的基类,用于处理异步请求,并在完成后自动停止。 7.2 JobScheduler与WorkManager:更智能的任务调度 介绍JobScheduler:Android 5.0(API Level 21)引入的API,允许根据设备的空闲状态、网络状况等条件来安排任务。 讲解JobScheduler的配置选项,如延迟执行、指定网络条件、设备充电状态等。 介绍WorkManager:Jetpack组件的一部分,是Google推荐的替代JobScheduler和AlarmManager的通用后台任务解决方案。 讲解WorkManager的单次任务(One-time work)和周期性任务(Periodic work),以及其强大的灵活性和兼容性。 7.3 AlarmManager:精确的时间调度 讲解AlarmManager的作用:用于在指定的时间触发操作,常用于闹钟、定时提醒等场景。 介绍AlarmManager的几种触发模式:ELAPSED_REALTIME、RTC、ELAPSED_REALTIME_WAKEUP、RTC_WAKEUP。 讲解PendingIntent,它是AlarmManager与Broadcast Receiver或Activity交互的关键。 阐述AlarmManager的精确性和电池优化方面的考量。 第三部分:高级特性与开发实践 本部分将介绍Android开发中的一些高级特性、第三方库以及实际开发中的常见问题和解决方案。 第八章 Fragment:可复用的UI模块 8.1 Fragment的概念与生命周期 介绍Fragment的概念:一个可以嵌入Activity中的可重用UI模块,拥有自己的生命周期。 详细阐述Fragment的生命周期,并与Activity的生命周期进行对比。 讲解Fragment的静态嵌套和动态添加、替换、删除。 8.2 Fragment与Activity的交互 讲解Activity如何与Fragment进行通信,如通过findFragmentById()获取Fragment实例,调用Fragment的方法。 讲解Fragment如何与Activity进行通信,如通过getParentFragmentManager().get...()获取Activity,或通过设置回调接口。 8.3 Fragment的懒加载与优化 介绍Fragment懒加载的意义,即在Fragment首次显示时才加载其内容,避免不必要的资源消耗。 演示Fragment懒加载的几种常见实现方式。 讲解Fragment在ViewPager中的使用,以及FragmentPagerAdapter和FragmentStatePagerAdapter的区别。 第九章 Material Design与UI/UX进阶 9.1 Material Design理念与组件 介绍Google Material Design设计语言的核心理念:材质、图形、动画、响应式布局。 讲解Material Design提供的标准UI组件,如CardView、FloatingActionButton、NavigationView、TabLayout、TextInputLayout、Snackbar等。 演示如何在Android项目中引入和使用Material Design组件,以提升应用程序的视觉吸引力和用户体验。 9.2 动画与转场效果 介绍Android中的属性动画(Property Animation),包括ObjectAnimator、ValueAnimator。 讲解View动画(Tweened Animation)和帧动画(Frame Animation)。 介绍Activity之间的转场动画,以及Fragment之间的转场动画。 演示如何创建流畅、生动的动画效果,增强用户交互的体验。 9.3 自定义View 讲解如何创建自定义View,以满足特定的UI需求。 介绍自定义View的绘制流程:measure、layout、draw。 讲解如何处理自定义View的触摸事件。 通过实例演示如何创建一个简单的自定义图表或控件。 第十章 移动开发中的传感器、定位与地图 10.1 Android传感器框架 介绍Android传感器类型:加速度计、陀螺仪、磁力计、光线传感器、距离传感器等。 讲解如何获取SensorManager实例,并注册和注销SensorEventListener。 演示如何读取传感器数据,并将其应用于实际功能,如指南针、计步器。 10.2 定位服务(Location Services) 介绍Android定位API,包括LocationManager和FusedLocationProviderClient。 讲解获取用户位置的权限(ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION)。 演示如何获取当前设备的GPS、网络定位等信息。 讲解如何处理位置更新和定位精度。 10.3 地图集成 介绍Google Maps SDK for Android。 讲解如何在应用程序中添加地图视图(MapView/MapFragment)。 演示如何显示地图、标记地点、绘制路线、响应地图事件(如缩放、拖动)。 介绍如何获取API Key,以及地图使用的注意事项。 第十一章 应用性能优化与调试 11.1 性能分析与瓶颈识别 介绍Android Studio自带的性能分析工具:Profiler(CPU, Memory, Network, Energy)。 讲解如何使用CPU Profiler定位CPU占用过高的代码。 讲解如何使用Memory Profiler查找内存泄漏和内存溢出。 介绍如何监控网络流量和电池消耗。 11.2 内存优化技巧 讲解内存泄漏的原因和常见场景,如静态引用、匿名内部类持有外部类引用。 介绍有效的内存管理策略,如及时释放不再使用的资源,复用对象。 讲解Bitmap的加载和管理技巧,防止OOM(Out Of Memory)错误。 11.3 线程优化与响应式UI 强调避免在UI线程执行耗时操作,合理使用多线程和异步处理。 介绍如何优化线程池的使用,避免线程过载。 讲解如何提升UI的流畅度,减少掉帧。 11.4 Logcat与调试技巧 详细介绍Logcat工具的使用,以及Log级别(Verbose, Debug, Info, Warning, Error, Assert)。 讲解如何编写有用的Log信息,便于调试。 介绍Android Studio的断点调试功能,单步执行、查看变量值、表达式求值。 演示如何通过Logcat和断点调试解决应用程序中的bug。 第十二章 应用发布与打包 12.1 APK文件详解 介绍APK(Android Package)文件的构成,包括代码、资源、Manifest文件等。 讲解如何生成APK文件,包括Debug模式和Release模式。 12.2 签名与安全 讲解APK签名的重要性,包括Debug签名和Release签名。 介绍如何生成自己的Keystore文件,并为应用程序签名。 阐述签名在保证应用程序完整性和来源可靠性方面的作用。 12.3 Google Play发布流程 介绍Google Play开发者账号的注册。 讲解应用程序上架前的准备工作,如icon、截图、描述、隐私政策等。 演示APK文件的上传、版本管理、定价和发布流程。 介绍Google Play Console的使用,如查看应用统计数据、用户反馈等。 12.4 其他应用市场发布 简要介绍国内其他主流应用市场的发布渠道和流程。 总结与展望 本书在系统讲解Android基础知识和核心技术的基础上,进一步介绍了高级应用开发和性能优化等重要内容。通过阅读和实践本书,读者将能够独立完成中小型Android应用程序的开发,并为进一步学习更高级的Android开发技术或进入专业开发领域打下坚实的基础。同时,本书也鼓励读者持续关注Android技术的发展动态,拥抱新技术,不断提升自身在移动开发领域的竞争力。