登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』Android软件开发教程(第2版)

書城自編碼: 3214066
分類: 簡體書→大陸圖書→教材研究生/本科/专科教材
作者: 张雪梅、李志强、王向
國際書號(ISBN): 9787302488675
出版社: 清华大学出版社
出版日期: 2018-06-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 423

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
大单元教学设计20讲
《 大单元教学设计20讲 》

售價:NT$ 347.0
儿童自我关怀练习册:做自己最好的朋友
《 儿童自我关怀练习册:做自己最好的朋友 》

售價:NT$ 316.0
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
《 高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量) 》

售價:NT$ 286.0
元好问与他的时代(中华学术译丛)
《 元好问与他的时代(中华学术译丛) 》

售價:NT$ 398.0
汽车传感器结构·原理·检测·维修
《 汽车传感器结构·原理·检测·维修 》

售價:NT$ 500.0
怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!)
《 怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!) 》

售價:NT$ 296.0
罗马政治观念中的自由
《 罗马政治观念中的自由 》

售價:NT$ 230.0
中国王朝内争实录:宠位厮杀
《 中国王朝内争实录:宠位厮杀 》

售價:NT$ 281.0

建議一齊購買:

+

NT$ 514
《 最强Android书:架构大剖析 》
+

NT$ 644
《 Android自定义控件开发入门与实战 》
編輯推薦:
本书所有程序均采用时新的Android Studio 2.3.3(API Level 26)开发环境调试。本书特别设置了Java语言和XML的基础知识介绍,帮助没有Java和XML基础的读者学习Android软件开发。每个知识点都配有短小精悍的示例程序,既能帮助读者理解知识,又具有启发性和实用性,非常适合教学讲授、自学或作为工具资料查询。每一章都配有难度适中的练习题,引导读者巩固和扩展所学知识。本书提供配套教学课件PPT、例题和习题源代码等,均可从清华大学出版社网站下载。
內容簡介:
本书是面向Android初学者的教程,书中介绍了设计开发Android系统应用程序的基础理论和实践方法。全书共12章,内容涵盖Java语言与面向对象编程基础、XML基础、开发环境搭建、Android应用程序的基本组成、事件处理机制和常用Widget组件、Fragment、异步线程与消息处理、基于Intent的Activity切换及数据传递、Service、BroadcastReceiver、数据存取机制、多媒体应用、网络应用等。本书注重理论与实践相结合,采用Android Studio 2.3.3开发环境,配有丰富的示例程序,讲解深入浅出,可以使读者在较短的时间内理解Android系统框架及其应用的开发过程,掌握Android应用程序的设计方法。本书提供所有程序的源代码和电子课件。
本书可作为普通高等学校计算机、通信、电子信息类本专科及各类培训机构Android软件开发课程的教材,也可作为Android程序设计爱好者的自学用书。
目錄
目录
第1章Android软件开发起步1
1.1智能移动设备及其操作系统1
1.2Android系统的体系结构3
1.2.1Android系统简介3
1.2.2Android系统的总体架构3
1.2.3Android SDK简介5
1.3Java语言与面向对象编程基础7
1.3.1配置Java开发环境7
1.3.2Java程序的开发过程8
1.3.3Java程序的结构10
1.3.4Java的数据类型和运算符12
1.3.5Java的流程控制语句14
1.3.6数组16
1.3.7泛型18
1.3.8面向对象的编程方法19
1.3.9异常处理23
1.4XML基础23
1.4.1XML简介23
1.4.2XML的用途26
1.4.3XML文档的结构26
1.4.4XML语法27
1.4.5XML命名空间31
1.5编写规范的Android代码33
1.6本章小结34
习题34
第2章创建第一个Android应用程序37
2.1搭建Android应用程序开发环境37
2.1.1Android Studio简介37
2.1.2Android Studio的安装38
2.1.3创建和启动Android虚拟设备41
2.1.4Android Studio的更新与设置44
2.2创建第一个Android应用程序51
2.2.1创建Android工程项目51
2.2.2编译和运行Android应用程序54
2.3Android Studio工程项目的文件构成56
2.3.1java文件夹56
2.3.2res文件夹58
2.3.3应用程序配置文件AndroidManifest.xml60
2.3.4Gradle文件62
2.4开发Android应用软件的一般流程64
2.4.1开发Android应用软件的一般流程64
2.4.2APK文件的签名和打包66
2.5程序调试的常用方法和调试工具68
2.5.1使用Android Studio的调试器68
2.5.2图形化调试工具DDMS70
2.5.3查看工程项目在运行过程中的日志信息71
2.6本章小结73
习题73
〖1〗〖2〗Android软件开发教程(第2版)〖1〗目录〖2〗第3章Activity的界面布局74
3.1Activity及其生命周期74
3.1.1Android应用的基本组件74
3.1.2什么是Activity75
3.1.3Activity的生命周期76
3.1.4Activity的启动模式80
3.1.5Context及其在Activity中的应用83
3.2布局文件及其加载83
3.2.1View类和ViewGroup类84
3.2.2XML布局及其加载85
3.2.3在Activity中定义和引用布局86
3.2.4资源的管理与使用87
3.3界面元素的常用属性93
3.3.1控件ID及其使用93
3.3.2布局尺寸参数及其使用94
3.3.3XML常用布局控件的标签及属性95
3.4常用的布局96
3.4.1线性布局LinearLayout96
3.4.2绝对布局AbsoluteLayout99
3.4.3相对布局RelativeLayout100
3.4.4表格布局TableLayout102
3.4.5帧布局FrameLayout104
3.5本章小结107
习题107
第4章常用界面控件及其应用108
4.1Widget控件概述108
4.2Android的事件处理机制108
4.2.1基于监听接口的事件处理方式109
4.2.2基于回调机制的事件处理113
4.2.3直接绑定到XML标签的事件处理方法116
4.3文本的输入和输出118
4.3.1TextView118
4.3.2EditText119
4.3.3AutoCompleteTextView122
4.3.4Toast124
4.4单选按钮和复选框126
4.4.1RadioButton和RadioGroup126
4.4.2CheckBox129
4.5列表131
4.6下拉列表选择框138
4.7本章小结140
习题140
第5章对话框、菜单和状态栏消息142
5.1对话框142
5.1.1提示对话框AlterDialog143
5.1.2进度条对话框ProcessDialog149
5.1.3日期和时间选择对话框151
5.2菜单155
5.2.1使用XML资源定义菜单项156
5.2.2创建菜单157
5.2.3响应和处理菜单项的点击160
5.2.4上下文菜单161
5.3状态栏消息Notification163
5.4本章小结168
习题168
第6章Fragment及其应用169
6.1Fragment的基本概念169
6.1.1Fragment简介169
6.1.2Fragment的生命周期170
6.2创建和载入Fragment176
6.2.1创建Fragment176
6.2.2将Fragment加载到Activity中177
6.3利用Fragment实现界面的切换181
6.4利用Fragment实现侧滑菜单184
6.4.1主视图的布局184
6.4.2侧滑菜单的布局和菜单事件的响应185
6.4.3使用Android Studio提供的模板实现侧滑菜单189
6.5利用Fragment实现Tabbed
Activity192
6.6本章小结193
习题193
第7章线程与消息处理195
7.1基本概念195
7.1.1进程与线程195
7.1.2创建线程197
7.1.3操作线程199
7.1.4线程的状态和生命周期200
7.2Android的UI线程与非UI线程201
7.2.1单线程和多线程201
7.2.2非UI线程访问UI对象202
7.3Android多线程通信机制204
7.3.1线程间通信的常用类204
7.3.2使用Handler实现线程间通信207
7.3.3使用AsyncTask实现线程间通信213
7.4本章小结217
习题217
第8章Service与BroadcastReceiver218
8.1Android组件间的通信218
8.1.1Intent218
8.1.2Activity之间的切换和跳转222
8.2Service及其生命周期232
8.2.1Service简介232
8.2.2Service的生命周期233
8.3创建、启动和停止Service234
8.3.1创建Service234
8.3.2启动和停止Service236
8.3.3Activity与Service的通信239
8.3.4将Service绑定到Activity241
8.4Android的广播机制246
8.4.1广播的发送和接收246
8.4.2静态注册BroadcastReceiver247
8.4.3动态注册BroadcastReceiver250
8.4.4有序广播的发送和接收252
8.5本章小结255
习题255
第9章数据的存储与访问256
9.1基于SharedPreferences的数据存取256
9.2数据文件的存取260
9.2.1读取assets和raw文件夹中的文件260
9.2.2对内部文件的存取操作261
9.2.3对外部文件的存取操作266
9.3SQLite及其数据管理机制272
9.3.1SQLite概述272
9.3.2SQLiteOpenHelper、SQLiteDatabase和Cursor类273
9.3.3创建数据库和数据表274
9.3.4操纵数据库中的数据277
9.4基于ContentProvider的数据存取285
9.4.1ContentProvider285
9.4.2定义和使用ContentProvider285
9.5本章小结289
习题290
第10章多媒体应用开发291
10.1音视频文件的播放291
10.1.1MediaPlayer类291
10.1.2使用MediaPlayer播放音频文件294
10.1.3使用MediaPlayer播放视频文件297
10.1.4利用系统内置的播放器程序播放音频和视频299
10.1.5使用VideoView播放视频302
10.2音视频文件的录制305
10.2.1MediaRecorder类305
10.2.2使用MediaRecorder录制音视频306
10.3基于Camera类的图片摄取310
10.3.1Camera类310
10.3.2利用Camera类实现图片的摄取311
10.3.3利用系统内置的Camera应用实现图片的摄取317
10.4本章小结318
习题318
第11章Web应用开发320
11.1Android网络通信概述320
11.2网络资源的访问322
11.2.1使用HTTP的GET方式访问网络322
11.2.2使用HTTP的POST方式访问网络324
11.2.3使用HttpURLConnection访问网络326
11.2.4使用Socket进行网络通信330
11.3WebView333
11.3.1WebView的基本用法334
11.3.2WebView的参数设置334
11.3.3WebView应用实例338
11.4本章小结340
习题341
第12章综合应用实例342
12.1计算器APP342
12.1.1功能分析342
12.1.2界面布局设计342
12.1.3实现运算的类346
12.1.4界面功能的实现350
12.1.5实现基于SharedPreferences的数据存取353
12.1.6菜单设计354
12.2待办事项提醒小助手358
12.2.1功能分析358
12.2.2创建数据库359
12.2.3界面设计和功能实现360
12.2.4定时推送状态栏提醒377
12.2.5菜单设计379
12.3本章小结382
习题382
参考文献384
內容試閱
丛书序为什么开发深入浅出系列丛书?目的是从读者角度写书,开发出高质量的、适合阅读的图书。不积跬步,无以至千里;不积小流,无以成江海。知识的学习是一个逐渐积累的过程,只有坚持系统地学习知识,深入浅出,坚持不懈,持之以恒,才能把一类技术学习好。坚持的动力源于所学内容的趣味性和讲法的新颖性。计算机课程的学习也有一条隐含的主线,那就是提出问题分析问题建立数学模型建立计算模型通过各种平台和工具得到最终正确的结果,培养计算机专业学生的核心能力是面向问题求解的能力。由于目前大学计算机本科生培养计划的特点,以及受教学计划和课程设置的原因,计算机科学与技术专业的本科生很难精通掌握一门程序设计语言或者相关课程。各门课程设置比较孤立,培养的学生综合运用各方面的知识能力方面有欠缺。传统的教学模式以传授知识为主要目的,能力培养没有得到充分的重视。很多教材受教学模式的影响,在编写过程中,偏重概念讲解比较多,而忽略了能力培养。为了突出内容的案例性、解惑性、可读性、自学性,本套书努力在以下方面做好工作。1. 案例性所举案例突出与本课程的关系,并且能恰当反映当前知识点。例如,在计算机专业中,很多高校都开设了高等数学、线性代数、概率论,不言而喻,这些课程对于计算机专业的学生来说是非常重要的,但就目前对不少高校而言,这些课程都是由数学系的老师讲授,教材也是由数学系的老师编写,由于学科背景不同和看待问题的角度不同,在这些教材中基本都是纯数学方面的案例,作为计算机系的学生来说,学习这样的教材缺少原动力并且比较乏味,究其原因,很多学生不清楚这些课程与计算机专业的关系是什么。基于此,在编写这方面的教材时,可以把计算机上的案例加入其中,例如,可以把计算机图形学中的三维空间物体图像在屏幕上的伸缩变换、平移变换和旋转变换在矩阵运算中进行举例,可以把双机热备份的案例融入马尔可夫链的讲解,可以把密码学的案例融入大数分解中,等等。2. 解惑性很多教材中的知识讲解注重定义的介绍,而忽略因果性、解释性介绍,往往造成知其然而不知其所以然。下面列举两个例子。(1) 读者可能对OSI参考模型与TCPIP参考模型的概念产生混淆,因为两种模型之间有很多相似之处。其实,OSI参考模型是在其协议开发之前设计出来的,也就是说,它不是针对某个协议族设计的,因而更具有通用性。而TCPIP模型是在TCPIP协议栈出现后出现的,也就是说,TCPIP模型是针对TCPIP协议栈的,并且与TCPIP协议栈非常吻合。但是必须注意,TCPIP模型描述其他协议栈并不合适,因为它具有很强的针对性。说到这里读者可能更迷惑了,既然OSI参考模型没有在数据通信中占有主导地位,那为什么还花费这么大的篇幅来描述它呢?其实,虽然OSI参考模型在协议实现方面存在很多不足,但是,OSI参考模型在计算机网络的发展过程中起到了非常重要的作用,并且,它对未来计算机网络的标准化、规范化的发展有很重要的指导意义。〖1〗〖2〗Android软件开发教程(第2版)〖1〗丛书序〖2〗(2) 再例如,在介绍原码、反码和补码时,往往只给出其定义和举例表示,而对最后为什么在计算机中采取补码表示数值?浮点数在计算机中是如何表示的?字节类型、短整型、整型、长整型、浮点数的范围是如何确定的?下面我们来回答这些问题(以8位数为例),原码不能直接运算,并且0的原码有 0和-0两种形式,即00000000和10000000,这样肯定是不行的,如果根据原码计算设计相应的门电路,由于要判断符号位,设计的复杂度会大大增加,不合算;为了解决原码不能直接运算的缺点,人们提出了反码的概念,但是0的反码还是有 0和-0两种形式,即00000000和11111111,这样是不行的,因为计算机在计算过程中,不能判断遇到0是 0还是-0;而补码解决了0表示的唯一性问题,即不会存在 0和-0,因为 0是00000000,它的补码是00000000,-0是10000000,它的反码是11111111,再加1就得到其补码是100000000,舍去溢出量就是00000000。知道了计算机中数用补码表示和0的唯一性问题后,就可以确定数据类型表示的取值范围了,仍以字节类型为例,一个字节共8位,有00000000~11111111共256种结果,由于1位表示符号位,7位表示数据位,正数的补码好说,其范围从00000000~011111111,即0~127;负数的补码为10000000~11111111,其中,11111111为-1的补码,10000001为-127的补码,那么到底10000000表示什么最合适呢?8位二进制数中,最小数的补码形式为10000000;它的数值绝对值应该是各位取反再加1,即为01111111 1=10000000=128,又因为是负数,所以是-128,即其取值范围是-128~127。3. 可读性图书的内容要深入浅出,使人爱看、易懂。一本书要做到可读性好,必须做到善用比喻,实例为王。什么是深入浅出?就是把复杂的事物简单地描述明白。把简单事情复杂化的是哲学家,而把复杂的问题简单化的是科学家。编写教材时要以科学家的眼光去编写,把难懂的定义,要通过图形或者举例进行解释,这样能达到事半功倍的效果。例如,在数据库中,第一范式、第二范式、第三范式、BC范式的概念非常抽象,很难理解,但是,如果以一个教务系统中的学生表、课程表、教师表之间的关系为例进行讲解,从而引出范式的概念,学生会比较容易接受。再例如,在生物学中,如果纯粹地讲解各个器官的功能会比较乏味,但是如果提出一个问题,如人的体温为什么是37℃?以此为引子引出各个器官的功能效果要好得多。再例如,在讲解数据结构课程时,由于定义多,表示抽象,这样达不到很好的教学效果,可以考虑在讲解数据结构及其操作时用程序给予实现,让学生看到直接的操作结果,如压栈和出栈操作,可以把PUSH和POP()操作实现,这样效果会好很多,并且会激发学生的学习兴趣。4. 自学性一本书如果适合自学学习,对其语言要求比较高。写作风格不能枯燥无味,让人看一眼就拒人千里之外,而应该是风趣、幽默,重要知识点多举实际应用的案例,说明它们在实际生活中的应用,应该有画龙点睛的说明和知识背景介绍,对其应用需要注意哪些问题等都要有提示。一书在手,从第一页开始的起点到最后一页的终点,如何使读者能快乐地阅读下去并获得知识?这是非常重要的问题。在数学上,两点之间的最短距离是直线。但在知识的传播中,使读者感到阻力最小的书才是好书。如同自然界中没有直流的河流一样,河水在重力的作用下一定沿着阻力最小的路径向前进。知识的传播与此相同,最有效的传播方式是传播起来损耗最小,阅读起来没有阻力。欢迎联系清华大学出版社白立军老师投稿: bailj@tup.tsinghua.edu.cn。
2014年12月15日前言随着移动互联网时代的来临,智能手机及其客户端APP软件成为广大用户接入和使用互联网的主要设备和方式之一。由谷歌公司推出的Android系统自2007年问世以来,得到了全球众多厂商和运营商的支持,迅速成为智能手机的主流操作系统,占据了大部分的市场份额。它不仅得到了全球开发者社区的极大关注,而且一大批世界一流的手机生产厂商和运营厂商都已经采用了Android系统,因此基于Android的手机APP软件开发日益受到广大开发者的关注,一些大学和培训机构也相继开设了基于Android的软件技术培训课程。这不仅合乎时代发展需要,而且有助于学生日后的就业,更能满足国内外日益增长的专业需求。本书是在作者撰写的《深入浅出Android软件开发教程》(第1版)的基础上,听取了部分任课教师和教材使用者的修改意见,结合Android智能手机软件开发的最新发展,重新撰写的一部教材。作为一本面向初学者的教程,本书延续上一版的写作风格,注重讲解的深入浅出和易学易懂,对于一些较难理解的理论,尽可能使用图示加以说明。对每个知识点都配有示例程序,并力求示例程序短小精悍,既能帮助读者理解知识,又具有启发性和实用性,非常适合教学讲授、自学或日后作为工具资料查询。每一章都配有难度适中的习题,引导读者编写相关功能的实用程序,有助于提高读者的学习兴趣。本书特别设置了Java语言和XML的基础知识介绍,同时这部分内容还可以作为Java和XML语法简明手册使用,便于初学者在编程过程中查阅。由于Android程序设计涉及编程语言、网络通信、硬件控制、多媒体等较多知识内容,所以学习时应该遵循循序渐进、由浅入深的原则。学习的过程中既要注重理论的理解,更要加强动手实践,尤其对于初学者,多练习才能掌握设计的方法和技巧。本书的示例程序采用2017年6月发布的Android Studio 2.3.3开发环境调试,其安装文件版本为androidstudiobundle162.4069837windows.exe,模拟器版本为Android 8.0(API 26)。Android Studio自2013年推出以来,在几次更新之后已经成为非常稳定和强大的IDE开发环境。和基于Eclipse的编程环境相比,Android Studio具有很多优势。Android Studio以IntelliJ IDEA为基础,整合了Gradle构建工具,为开发者提供了开发和调试工具,包括智能代码编辑、用户界面设计工具、性能分析工具等。Android Studio的界面风格更受程序员欢迎,代码的修改会自动智能保存,自带了多设备的实时预览,具有内置命令行终端,具有更完善的插件系统(如Git、Markdown、Gradle等)和版本控制系统,在代码智能提示、运行响应速度等方面都更出色。本书共分12章。第1章介绍智能移动设备及其操作系统,Android系统的体系结构,以及Java、XML等Android程序设计必要的预备知识。第2章介绍在Windows系统中搭建Android开发平台的主要步骤和集成开发环境的使用方法,并且通过学习创建第一个Android应用程序,了解典型Android应用程序的架构与组成。第3~5章介绍用户界面的设计,主要包括XML布局文件的设计和使用方法、常见的界面布局方式、Android中的事件处理机制、常用的用户界面控件以及对话框、菜单和状态栏消息的设计方法。第6章介绍Fragment的基本概念、Fragment的加载和切换以及相关应用。第7章介绍线程的概念、相关操作和Android多线程通信机制。第8章介绍Intent的概念及其在组件通信中的应用,包括Activity之间的跳转与通信、后台服务Service及其启动停止方法、广播消息的发送和接收等。第9章介绍Android常用的数据存储和访问方法,包括Shared Preferences、文件存取、SQLite数据库存储、内容提供器(Content Provider)等。第10章介绍在Android系统中如何处理和使用音视频等多媒体资源。第11章主要介绍访问Internet资源的方法,包括利用Http、HttpURLConnection或Socket与远程服务器交互,使用WebView控件在Activity中包含一个基于WebKit浏览器的方法等。第12章介绍两个综合应用实例的设计思路和实现方法,以加深对基本知识的理解。本书第1~6章由张雪梅编写,第7、8章由李志强编写、第9~12章由王向编写,部分章节中的实例由李志强、王向完成,最后由高凯完成了全书的统稿和审阅工作。本书可作为大学相关专业教科书和工程实训、技能培训用书,也可供工程技术人员参考。本书提供源代码下载和教学课件下载,相关源代码和课件资源均在清华大学出版社网站(http: www.tup.com.cn)发布,方便读者自学和实践。在本书的写作与相关科研课题的研究工作中,得到了多方面的支持与帮助。在写作过程中,有关Android智能手机软件开发的相关网站亦为本书提供了良好的基础,我们也参考了相关文献和互联网上众多热心网友提供的素材,本书的顺利完成也得益于参阅了大量的相关工作及研究成果,在此谨向这些文献的作者、热心网友以及为本书提供帮助的老师致以诚挚的谢意和崇高的敬意。在本书的写作过程中,也得到了清华大学出版社的大力支持和帮助,在此一并表示衷心感谢。本书读者对象包括计算机、通信、电子信息类本专科学生,以及从事手机软件开发与维护的工程技术人员。由于作者水平有限,书中难免有不足之处,恳请广大读者批评指正。作者的联系方式是zxm@hebust.edu.cn,欢迎来信交流,共同探讨Android程序设计方面的问题。
作者2018年5月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.