图书简介:
目录第一部分 基础篇第1章 开发环境搭建和Android应用1.1 Android简介1.1.1 Android传奇1.1.2 Android体系结构1.2 搭建Android应用开发环境1.2.1 JDK的下载、安装与配置1.2.2 安装Android Studio1.3 第一个Android应用1.3.1 创建MyHello项目1.3.2 SDK Manager1.3.3 AVD Manager1.3.4 运行Android应用1.4 Android项目结构1.4.1 Project工具窗口1.4.2 工程目录说明1.4.3 app目录结构1.4.4 项目全局build.gradle和模块build.gradle1.5 Android应用的基本组件1.6 Activity的生命周期1.7 Android日志工具Log1.8 相关阅读:Andy Rubin与Android1.8.1 未来的夏娃1.8.2 Andy Rubin黯然离场1.8.3 Andy Rubin早年岁月1.9 本章小结习题1第2章 用户界面设计2.1 视图组件与容器组件2.2 控制UI界面2.2.1 使用XML布局文件控制UI界面2.2.2 在Java代码中控制UI界面2.2.3 使用XML布局文件和Java代码混合控制UI界面2.3 基本UI组件2.3.1 TextView和EditText2.3.2 Button、ImageButton、ImageView、RadioButton和CheckBox2.3.3 ProgressBar、ScrollView和Toast2.3.4 日期时间类组件2.3.5 布局管理器2.4 高级UI组件2.4.1 列表类组件2.4.2 对话框2.4.3 菜单2.4.4 标签栏2.5 Handler消息传递机制2.6 项目实战:“移动商城”(一)2.6.1 任务说明2.6.2 项目讲解2.6.3 典型代码及技术实现2.7 相关阅读:ButterKnife的使用2.8 本章小结习题2第3章 自定义View3.1 自定义View的分类3.2 自定义View的构造函数3.3 View的绘制流程3.3.1 Measure过程3.3.2 Layout过程3.3.3 Draw过程3.4 自定义View示例3.4.1 实现一个基本的自定义View3.4.2 支持wrap_content属性和padding属性3.4.3 自定义属性3.5 本章小结习题3第4章 Activity和Intent4.1 使用Activity4.1.1 Activity的配置4.1.2 Activity的启动和关闭4.1.3 使用Bundle在Activity之间交换数据4.1.4 调用另一个Activity并返回结果4.2 Activity的四种启动模式4.2.1 standard 模式4.2.2 singleTop模式4.2.3 singleTask模式4.2.4 singleInstance模式4.3 Intent对象4.3.1 显式Intent和隐式Intent4.3.2 Intent过滤器4.3.3 Intent的属性4.4 本章小结习题4第5章 后台服务与广播消息5.1 Service的应用5.1.1 Service的启动方式5.1.2 Service的生命周期5.1.3 跨进程调用Service5.2 接收广播消息5.2.1 简介5.2.2 发送广播5.2.3 有序广播5.2.4 接收系统广播消息5.3 本章小结习题5第6章 数据存储与访问6.1 SharedPreferences存储6.1.1 将数据存储到SharedPreferences6.1.2 从SharedPreferences中读取数据6.1.3 SharedPreferences举例6.2 SQLite数据库6.2.1 手动建库6.2.2 SQLiteDatabase6.2.3 SQLiteOpenHelper6.2.4 Cursor和ContentValues6.2.5 代码建库6.3 文件存储6.3.1 内部存储6.3.2 外部存储(读/写SD卡上的文件)6.4 数据共享6.4.1 ContentProvider6.4.2 Uri6.4.3 UriMatcher和ContentUris6.4.4 ContentResolver6.4.5 创建数据提供者6.4.6 使用数据提供者6.5 相关阅读:Android系统中内部存储和外部存储的若干疑问6.6 本章小结习题6第二部分 提高篇第7章 Java并发编程7.1 Java线程池简介7.2 Executor与ExecutorService7.2.1 Executor7.2.2 ExecutorService7.2.3 常用线程池7.3 ThreadPoolExecutor7.3.1 ThreadPoolExecutor的构造方法7.3.2 编制ThreadPoolExecutor7.4 Future模式7.5 项目实战:“移动商城”(二)7.5.1 任务说明7.5.2 项目讲解7.5.3 典型代码及技术要点7.6 相关阅读:Android的Looper与ThreadLocal7.6.1 Android的Looper7.6.2 Handler机制引出ThreadLocal7.7 本章小结习题7第8章 Fragment8.1 Fragment简介8.2 Fragment的生命周期8.3 Fragment加入Activity8.4 Fragment与Activity的交互8.5 Fragment间的数据传递8.6 ViewPager和PageAdapter8.7 使用FragmentPageAdapter8.8 本章小结习题8第9章 Android的一些异步处理技术9.1 HandlerThread9.1.1 HandlerThread的使用9.1.2 HandlerThread的源码分析9.2 IntentService9.2.1 IntentService的使用9.2.2 IntentService的源码分析9.3 AsyncTask9.3.1 AsyncTask的使用9.3.2 AsyncTask的工作原理9.4 本章小结习题9第10章 Android网络应用10.1 使用HTTP协议访问网络10.1.1 HTTP协议10.1.2 使用HttpURLConnection10.1.3 使用OkHttp10.1.4 使用Retrofit10.2 Socket通信10.3 使用WebView显示网页10.4 项目实战:查询学生信息10.4.1 任务说明10.4.2 项目讲解10.4.3 典型代码及技术要点10.5 相关阅读:Retrofit注解10.6 本章小结习题10第三部分 开发篇第11章 手机客户端解析JSON11.1 JSON简介11.2 服务器端生成JSON数据11.3 在手机客户端中解析JSON11.4 项目实战:“移动商城”(三)11.4.1 任务说明11.4.2 项目讲解11.4.3 典型代码及技术要点11.5 本章小结习题11第12章 Maven12.1 Maven简介12.2 Maven的安装和配置12.3 Maven的使用12.4 坐标和依赖12.5 构建支持Servlet 3.0的MavenWeb应用12.6 本章小结习题12第13章 服务器端接口编程13.1 JNDI数据源配置13.2 Log4J与SLF4J13.3 项目实战:“移动商城”(四)13.3.1 任务说明13.3.2 项目讲解13.3.3 典型代码及技术要点13.4 MyBatis与Hibernate13.5 本章小结习题13第四部分 拓展篇第14章 MVP模式14.1 MVP模式简介14.2 MVP模式与MVC模式14.3 MVP模式的优点和缺点14.4 MVP模式的使用示例14.5 本章小结习题14第15章 Java设计模式15.1 设计模式的分类和设计原则15.1.1 设计模式的分类15.1.2 设计模式的设计原则15.2 创建模式15.2.1 工厂方法模式和抽象工厂方法模式15.2.2 单例模式15.2.3 建造者模式15.2.4 原型模式15.3 结构模式15.3.1 适配器模式和装饰模式15.3.2 代理模式和外观模式15.3.3 桥接模式和组合模式15.3.4 享元模式15.4 行为模式15.4.1 策略模式和模板方法模式15.4.2 观察者模式、迭代器模式、责任链模式和命令模式15.4.3 备忘录模式和状态模式15.4.4 访问者模式、中介者模式和解释器模式15.5 本章小结习题15附录A Eclipse的编码问题(包括ADT)附录B Eclipse自动部署项目到Tomcat的webapps目录附录C ADB命令参考文献
展开
前 言 本书基于Android Studio,结合Android应用开发的一些具体案例,由浅入深、循序渐进地阐述Android应用开发的基础知识、常用技巧和关键技术。全书分基础篇、提高篇、开发篇和拓展篇四部分,共15章,其中各个章节的主要内容及教学注意点介绍如下。 第1章介绍开发环境搭建和Android应用,具体内容包括Android体系结构、搭建Android应用开发环境、SDK Manager和AVD Manager的使用,创建并运行第一个Android应用、Android项目结构、Android应用的基本组件等。强调的教学知识点有:①对Gradle Wrapper的理解;②项目全局build.gradle和模块build.gradle;③Activity的生命周期;④Android日志工具Log的使用。 第2章介绍用户界面设计。强调的教学知识点有:①Handler消息传递机制(在教学过程中可引入对观察者模式的介绍);②循环对象Looper的作用;③在子线程中创建Handler为何会抛出异常;④RecyclerView的使用;⑤RecyclerView和ListView的区别。 第3章介绍自定义View,属选学内容,可根据学生情况酌情处理,但在相关面试中常常会问到这方面的问题。 第4章介绍Activity和Intent。强调的教学知识点有:①Activity的四种启动模式;②使用Bundle在Activity之间交换数据;③调用另一个Activity并返回结果;④显式Intent和隐式Intent。 第5章介绍后台服务与广播消息。强调的教学知识点有:①Service 和 Thread 的区别是什么?为什么使用Service?②Service和BroadcastReceiver的使用。 第6章介绍数据存储与访问。强调的教学知识点有:①SQLite数据库的使用(包括代码建库和手动建库);②ContentProvider的使用(包括创建数据提供者和使用数据提供者);③对于内部存储和外部存储的理解;④Android外部存储的公有存储空间和私有存储空间;⑤Android的权限机制(如危险权限和普通权限的区别、在程序运行时申请权限等问题);⑥SharedPreferences存储。 第7章介绍Java并发编程,属教学重点章节,是成为Android开发者的重要基础,涉及Android如何异步访问网络数据,以及对所使用网络请求框架的理解。强调的教学知识点有:①Java并发访问框架(JDK中java.util.concurrent包的类使用);②使用LruCache缓存图片。对学有余力且学习态度端正的同学,可引导学生深入学习,如网络请求框架的设计与实现、ImageLoader的设计与实现等。 第8章介绍Fragment,属选学内容,可根据学生情况酌情处理。不过这部分内容对于Android开发者来说也是十分重要的。强调的教学知识点有:①Fragment的生命周期;②Fragment与Activity的交互;③Fragment间的数据传递。 第9章介绍Android的一些异步处理技术,属选学内容,可根据学生情况酌情处理。具体内容包括HandlerThread的使用及源码分析、IntentService的使用及源码分析、AsyncTask的使用及工作原理。源码分析部分还是比较难的,只有认真研究相关问题的源码,才能理解得更深入透彻。教师可引导学生逐步养成遇到问题去查阅并钻研Android源码的习惯,这样有助于学生学习能力的提升。 第10章介绍Android网络应用,属教学重点章节。强调的教学知识点有:①使用OkHttp访问网络;②使用Retrofit访问网络;③使用HttpURLConnection访问网络。 第11章介绍如何在手机客户端解析JSON,这是编程实践部分。强调的教学知识点有:①在手机客户端解析JSON;②服务器端生成JSON数据。 第12章介绍Maven,具体内容有Maven的安装和配置、Maven的使用、坐标和依赖等,属选学内容,可根据学生情况及教学课时情况酌情处理。 第13章介绍服务器端接口编程,这是编程实践部分。强调的教学知识点有:①如何在服务器端开发JSON接口;②JNDI数据源配置。 第14章介绍MVP模式,具体内容有MVP模式的基本概念、MVP模式与MVC模式的区别、MVP模式的优点和缺点、MVP模式的使用示例等,属选学内容,可根据学生情况及教学课时情况酌情处理。 第15章介绍Java设计模式,具体内容有设计模式的分类和设计原则、创建模式、结构模式、行为模式等,属选学内容,可根据学生情况及教学课时情况酌情处理。 本书的编写思路基于以下教学理念: (1)突出编程基础; (2)突出能力本位; (3)突出学以致用; (4)突出内外兼修; (5)突出编程实践。 需要说明的是,本书的定位是卓越工程师培养创新,既可面向在校学生,也可面向广大Android程序员、技术人员和培训机构等。 给授课教师的教学建议如书中表格所示,打星号的章节为可选章节。给高校学生实施教学可安排48~72课时,应根据具体情况灵活安排。 本书由韩冬(苏州大学)负责编写提纲并进行主要撰写,参加本书编写的还有张建、曹国平、肖广娣等。 本书在编写过程中,参考、借鉴了很多IT技术专家、学者的相关著作,对于引用的段落或文字尽可能一一列出,谨向各位IT技术专家、学者表示感谢! 本书提供的教学资源有:所有章节的程序源码、PPT课件和模拟试卷(试题)。读者可在电子工业出版社华信教育资源网进行下载,网址为http://www.hxedu.com.cn。 鉴于编著者水平有限,书中难免存在不足和错误之处,敬请专家和读者提出宝贵意见和建议,以便再版时改进。 韩 冬
展开