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

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

『簡體書』Android编程权威指南【公认权威著作,涵盖Android开发方方面面,Big Nerd Ranch品牌保证】

書城自編碼: 2257939
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作 者: Brian
國際書號(ISBN): 9787115346438
出版社: 人民邮电出版社
出版日期: 2014-04-01
版次: 1
頁數/字數: 544/798000
書度/開本: 16开 釘裝: 平装

售價:NT$ 891

我要買

share:

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



新書推薦:
政和元年:宋辽金夏的国运博弈与谍战风云
《 政和元年:宋辽金夏的国运博弈与谍战风云 》

售價:NT$ 381.0
黄金圈法则
《 黄金圈法则 》

售價:NT$ 437.0
全球治理理论:权威、合法性与论争
《 全球治理理论:权威、合法性与论争 》

售價:NT$ 549.0
持续共赢:商业生态构建方法论
《 持续共赢:商业生态构建方法论 》

售價:NT$ 442.0
华尔街幽灵:一位股票投资大师的告白
《 华尔街幽灵:一位股票投资大师的告白 》

售價:NT$ 447.0
人生幸好有快乐(一代大师梁实秋至诚分享八十余年的快乐哲学!)
《 人生幸好有快乐(一代大师梁实秋至诚分享八十余年的快乐哲学!) 》

售價:NT$ 302.0
中世纪文明(400-1500年)(格致人文)
《 中世纪文明(400-1500年)(格致人文) 》

售價:NT$ 661.0
女子运动术(维持肌肉是更高级的抗衰!变瘦的同时有效增肌,成为更好的自己!)
《 女子运动术(维持肌肉是更高级的抗衰!变瘦的同时有效增肌,成为更好的自己!) 》

售價:NT$ 325.0

建議一齊購買:

+

NT$ 711
《 第一行代码——Android 》
+

NT$ 621
《 Android编程实战 》
+

NT$ 441
《 打造高质量Android应用:Android开发必知的50个诀窍(Android高效开发必知的50个诀窍) 》
+

NT$ 642
《 Android应用UI设计模式 》
+

NT$ 911
《 Android 4 高级编程(第3版) 》
+

NT$ 466
《 Android应用性能优化【开发优秀的Android应用必备指南】 》
編輯推薦:
Amazon榜首畅销书
全面覆盖Android开发知识点
全真示例、循循善诱、轻松上手
內容簡介:
权威、全面、实用、易懂,是本书最大的特色。本书根据美国大名鼎鼎的Big Nerd Ranch训练营的Android培训讲义编写而成,已经为微软、谷歌、Facebook等行业巨头培养了众多专业人才。作者巧妙地把Android开发所需的庞杂知识、行业实践、编程规范等融入一本书中,通过精心编排的应用示例、循序渐进的内容组织,以及循循善诱的语言,深入地讲解了Android开发的方方面面。如果学完一章之后仍然意犹未尽,那“挑战练习”一定会让你大呼过瘾。本书之所以能在移动应用开发类图书中脱颖而出,还在于它真的是在与读者“对话”。阅读本书就好像有一位私人导师在你身边随时为你答疑解惑。
本书适合所有对Android及移动开发感兴趣的读者,需要一定的Java编程基础。
關於作者:
Bill Phillips
Big Nerd Ranch资深Android讲师、高级软件工程师。他与Brian Hardy合作,为Big Nerd Ranch开发了广受好评的5天Android训练营培训课程。Bill擅长透彻地理解事物的本质,并帮助其他人做到这一点。闲暇时间,Bill喜欢阅读和弹钢琴。
Brian Hardy
Big Nerd Ranch首席软件工程师、资深讲师。Big Nerd Ranch的Android、iOS和Ruby培训课程均由Brian设计开发。闲暇时间,Brian喜欢骑自行车和听音乐。
目錄
第1章 Android应用初体验1
1.1  应用基础2
1.2  创建Android项目2
1.3  Eclipse工作区导航5
1.4  用户界面设计6
1.4.1  视图层级结构9
1.4.2  组件属性10
1.4.3  创建字符串资源11
1.4.4  预览界面布局12
1.5  从布局XML到视图对象13
1.6  组件的实际应用15
1.6.1  类包组织导入16
1.6.2  引用组件16
1.6.3  设置监听器17
1.7  使用模拟器运行应用21
1.8  Android编译过程22
第2章 Android与MVC设计模式26
2.1  创建新类26
2.2  Android与MVC设计模式30
2.3  更新视图层31
2.4  更新控制层33
2.5  在设备上运行应用37
2.5.1  连接设备37
2.5.2  配置设备用于应用开发38
2.6  添加图标资源38
2.6.1  向项目中添加资源39
2.6.2  在XML文件中引用资源40
2.7  关于挑战练习41
2.8  挑战练习一:为TextView添加监听器41
2.9  挑战练习二:添加后退按钮42
2.10  挑战练习三:从按钮到图标按钮42
第3章 Activity的生命周期45
3.1  日志跟踪理解Activity生命周期46
3.1.1  输出日志信息46
3.1.2  使用 LogCat48
3.2  设备旋转与Activity生命周期52
3.3  设备旋转前保存数据56
3.4  再探Activity生命周期57
3.5  深入学习:测试onSaveInstanceState-Bundle方法59
3.6  深入学习:日志记录的级别与方法60
第4章 Android应用的调试62
4.1  DDMS应用调试透视图63
4.2  异常与栈跟踪64
4.2.1  诊断应用异常65
4.2.2  记录栈跟踪日志66
4.2.3  设置断点68
4.2.4  使用异常断点71
4.3  文件浏览器72
4.4  Android特有的调试工具73
4.4.1  使用Android Lint73
4.4.2  R类的问题74
第5章 第二个activity75
5.1  创建第二个activity76
5.1.1  创建新布局77
5.1.2  创建新的activity子类80
5.1.3  在manifest配置文件中声明activity81
5.1.4  为QuizActivity添加cheat按钮82
5.2  启动activity83
5.3  activity间的数据传递85
5.3.1  使用intent extra86
5.3.2  从子activity获取返回结果88
5.4  activity的使用与管理92
5.5  挑战练习95
第6章 Android SDK版本与兼容96
6.1  Android SDK版本96
6.2  Android编程与兼容性问题97
6.2.1  全新的系统版本——Honeycomb97
6.2.2  SDK最低版本99
6.2.3  SDK目标版本99
6.2.4  SDK编译版本99
6.2.5  安全添加新版本API中的代码100
6.3  使用Android开发者文档103
6.4  挑战练习:报告编译版本105
第7章 UI fragment与fragment 管理器106
7.1  UI设计的灵活性需求107
7.2  fragment的引入107
7.3  着手开发CriminalIntent108
7.3.1  创建新项目110
7.3.2  fragment与支持库112
7.3.3  创建Crime类113
7.4  托管UI fragment115
7.4.1  fragment的生命周期115
7.4.2  托管的两种方式116
7.4.3  定义容器视图116
7.5  创建UI fragment117
7.5.1  定义CrimeFragment的布局118
7.5.2  创建CrimeFragment类119
7.6  添加UI fragment到FragmentManager122
7.6.1  fragment事务123
7.6.2  FragmentManager与fragment生命周期125
7.7  activity使用fragment的理由127
7.8  深入学习:Honeycomb、ICS、Jelly Bean以及更高版本系统上的应用开发127
第8章 使用布局与组件创建用户界面128
8.1  升级Crime类128
8.2  更新布局129
8.3  生成并使用组件131
8.4  深入探讨XML布局属性132
8.4.1  样式、主题及主题属性132
8.4.2  dp、sp以及屏幕像素密度133
8.4.3  Android开发设计原则134
8.4.4  布局参数135
8.4.5  边距与内边距135
8.5  使用图形布局工具136
8.5.1  添加新组件138
8.5.2  属性视图中编辑组件属性138
8.5.3  在框架视图中重新组织组件139
8.5.4  更新子组件的布局参数140
8.5.5android:layout_weight属性的工作原理141
8.5.6  图形布局工具使用总结142
8.5.7  组件ID与多种布局142
8.6  挑战练习:日期格式化143
第9章 使用ListFragment显示列表144
9.1  更新CriminalIntent应用的模型层145
9.2  创建ListFragment147
9.3  使用抽象activity托管fragment149
9.3.1  通用的fragment托管布局149
9.3.2  抽象activity类150
9.4  ListFragment、ListView及ArrayAdapter154
9.4.1  创建ArrayAdapterT类实例157
9.4.2  响应列表项的点击事件159
9.5  定制列表项160
9.5.1  创建列表项布局160
9.5.2  创建adapter子类162
第10章 使用fragment argument165
10.1  从fragment中启动activity165
10.1.1  附加extra信息166
10.1.2  获取extra信息167
10.1.3  使用Crime数据更新CrimeFragment视图167
10.1.4  直接获取extra信息方式的缺点169
10.2  fragment argument169
10.2.1  附加argument给fragment169
10.2.2  获取argument170
10.3  重新加载显示列表项171
10.4  通过fragment获取返回结果172
第11章 使用ViewPager174
11.1  创建CrimePagerActivity175
11.1.1  以代码的方式定义并产生布局176
11.1.2  ViewPager与Pager-Adapter177
11.1.3  整合配置并使用CrimePagerActivity178
11.1.4  FragmentStatePager-Adapter与Fragment-PagerAdapter180
11.2  深入学习:ViewPager的工作原理182
第12章 对话框184
12.1  创建DialogFragment186
12.1.1  显示DialogFragment187
12.1.2  设置对话框的显示内容188
12.2  fragment间的数据传递190
12.2.1  传递数据给DatePicker-Fragment191
12.2.2  返回数据给CrimeFragment193
12.3  挑战练习:更多对话框198
第13章 使用MediaPlayer播放音频199
13.1  添加资源200
13.2  定义HelloMoonFragment布局文件202
13.3  创建HelloMoonFragment203
13.4  使用布局fragment204
13.5  音频播放205
13.6  挑战练习:暂停音频播放208
13.7  深入学习:播放视频208
13.8  挑战练习:在HelloMoon应用中播放视频208
第14章 fragment的保留209
14.1  保留fragment实例209
14.2  设备旋转与保留的fragment210
14.3  保留的fragment:一切都完美了吗212
14.4  设备旋转处理与onSaveInstance-StateBundle方法212
14.5  深入学习:fragment引入前的设备旋转问题214
第15章 应用本地化215
15.1  本地化资源215
15.2  配置修饰符216
15.2.1  可用资源优先级排定217
15.2.2  多重配置修饰符218
15.2.3  寻找最匹配的资源219
15.3  更多资源使用原则及控制220
15.3.1  资源命名220
15.3.2  资源目录结构220
15.4  测试备选资源221
第16章 操作栏223
16.1  选项菜单223
16.1.1  在XML文件中定义选项菜单225
16.1.2  创建选项菜单227
16.1.3  响应菜单项选择230
16.2  实现层级式导航232
16.2.1  启用应用图标的导航功能232
16.2.2  响应向上按钮233
16.3  可选菜单项236
16.3.1  创建可选菜单XML文件236
16.3.2  切换菜单项标题237
16.3.3  “还有个问题”238
16.4  挑战练习:用于列表的空视图239
第17章 存储与加载本地文件241
17.1  CriminalIntent应用的数据存取241
17.1.1  保存crime数据到JSON文件242
17.1.2  从文件中读取crime数据246
17.2  挑战练习:使用外部存储248
17.3  深入学习:Android文件系统与Java IO248
第18章 上下文菜单与上下文操作模式250
18.1  定义上下文菜单资源251
18.2  实施浮动上下文菜单251
18.2.1  创建上下文菜单251
18.2.2  为上下文菜单登记视图252
18.2.3  响应菜单项选择253
18.3  实施上下文操作模式254
18.3.1  实现列表视图的多选操作255
18.3.2  列表视图中的操作模式回调方法256
18.3.3  改变已激活视图的显示背景258
18.3.4  实现其他视图的上下文操作模式259
18.4  兼容性问题:回退还是复制260
18.5  挑战练习:在CrimeFragment视图中删除crime记录261
18.6  深入学习:ActionBarSherlock261
18.7  挑战练习:使用ActionBarSherlock263
18.7.1  CriminalIntent应用中ABS的基本整合264
18.7.2  ABS的深度整合264
18.7.3  ABS的完全整合265
第19章 相机I:取景器266
19.1  创建Fragment布局267
19.2  创建CrimeCameraFragment269
19.3  创建CrimeCameraActivity269
19.4  使用相机API271
19.4.1  打开并释放相机271
19.4.2  SurfaceView、Surface-Holder与Surface272
19.4.3  确定预览界面大小276
19.4.4  启动CrimeCamera-Activity277
19.5  深入学习:以命令行的方式运行activity281
第20章 相机 II:拍摄并处理照片283
20.1  拍摄照片283
20.1.1  实现相机回调方法285
20.1.2  设置图片尺寸大小288
20.2  返回数据给CrimeFragment288
20.2.1  以接收返回值的方式启动CrimeCameraActivity289
20.2.2  在CrimeCameraFragment中设置返回值290
20.2.3  在CrimeFragment中获取照片文件名290
20.3  更新模型层291
20.3.1  新增Photo类292
20.3.2  为Crime添加photo属性293
20.3.3  设置photo属性293
20.4  更新CrimeFragment的视图294
20.4.1  添加ImageView组件295
20.4.2  图像处理296
20.5  在DialogFragment中显示大图片300
20.6  挑战练习:Crime照片的显示方向303
20.7  挑战练习:删除照片303
20.8  深入学习:Android代码的废弃处理303
第21章 隐式intent305
21.1  添加按钮组件306
21.2  添加嫌疑人信息至模型层307
21.3  使用格式化字符串308
21.4  使用隐式intent309
21.4.1  典型隐式intent的组成310
21.4.2  发送陋习报告311
21.4.3  获取联系人信息313
21.4.4  检查可以响应的activity316
21.5  挑战练习:又一个隐式intent317
第22章 Master-Detail用户界面318
22.1  增加布局灵活性319
22.1.1  修改SingleFragment-Activity320
22.1.2  创建包含两个fragment容器的布局320
22.1.3  使用别名资源322
22.2  Activity:fragment的托管者323
22.3  深入学习:设备屏幕尺寸的确定331
第23章 深入学习intent和任务333
23.1  创建NerdLauncher项目333
23.2  解析隐式intent334
23.3  在运行时创建显式intent337
23.4  任务与后退栈338
23.5  使用NerdLauncher应用作为设备主屏幕341
23.6  挑战练习:应用图标与任务重排341
23.7  进程与任务341
第24章 样式与include标签的使用343
24.1  创建RemoteControl项目344
24.1.1  编码实现RemoteControl-Activity344
24.1.2  创建RemoteControl-Fragment345
24.2  使用样式消除重复代码348
24.3  完善布局定义350
24.4  深入学习:使用include与merge标签353
24.5  挑战练习:样式的继承354
第25章 XML Drawable与9-Patches355
25.1  XML drawable356
25.2  state list drawable358
25.3  layer list与inset drawable360
25.4  使用9-patch图像362
第26章 HTTP与后台任务368
26.1  创建PhotoGallery应用369
26.2  网络连接基本372
26.3  使用AsyncTask在后台线程上运行代码373
26.4  线程与主线程375
26.5  获取Flickr XML数据377
26.6  从AsyncTask回到主线程382
26.7  深入学习:再探AsyncTask385
26.8  挑战练习:分页386
第27章 Looper、Handler与HandlerThread387
27.1  设置GridView以显示图片387
27.2  批量下载缩略图390
27.3  与主线程通信390
27.4  创建并启动后台线程391
27.5  Message与message Handler393
27.5.1  消息的剖析393
27.5.2  Handler的剖析393
27.5.3  使用handler395
27.5.4  传递handler397
27.6  深入学习:AsyncTask与Thread401
27.7  挑战练习:预加载以及缓存401
第28章 搜索402
28.1  搜索Flickr网站402
28.2  搜索对话框404
28.2.1  创建搜索界面404
28.2.2  可搜索的activity406
28.2.3  物理搜索键408
28.2.4  搜索的工作原理409
28.2.5  启动模式与新的intent410
28.2.6  使用shared preferences实现轻量级数据存储412
28.3  在Android 3.0以后版本的设备上使用SearchView414
28.4  挑战练习416
第29章 后台服务417
29.1  创建IntentService417
29.2  服务的作用419
29.3  查找最新返回结果421
29.4  使用AlarmManager延迟运行服务422
29.4.1  PendingIntent424
29.4.2  使用PendingIntent管理定时器424
29.5  控制定时器425
29.6  通知信息428
29.7  深入学习:服务细节内容429
29.7.1  服务的能与不能430
29.7.2  服务的生命周期430
29.7.3  non-sticky服务430
29.7.4  sticky服务431
29.7.5  绑定服务431
第30章 broadcast Intent433
30.1  随设备重启而重启的定时器433
30.1.1  配置文件中的broadcast receiver434
30.1.2  如何使用receiver435
30.2  过滤前台通知消息436
30.2.1  发送broadcast intent437
30.2.2  动态broadcast receiver437
30.2.3  使用私有权限440
30.2.4  使用ordered broadcast接收结果442
30.3  receiver与长时运行任务446
第31章 网页浏览447
31.1  最后一段Flickr数据447
31.2  简单方式:使用隐式intent448
31.3  较难方式:使用WebView449
31.3.1  使用WebChromeClient优化WebView的显示453
31.3.2  处理WebView的设备旋转问题455
31.4  深入学习:注入JavaScript对象456
第32章 定制视图与触摸事件457
32.1  创建DragAndDraw项目457
32.1.1  创建DragAndDraw-Activity458
32.1.2  创建DragAndDraw-Fragment459
32.2  创建定制视图460
32.3  处理触摸事件462
32.4  onDraw...方法内的图形绘制465
32.5  挑战练习:设备旋转问题467
第33章 跟踪设备的地理位置468
33.1  启动RunTracker项目468
33.1.1  创建RunActivity469
33.1.2  创建RunFragment470
33.2  地理位置与LocationManager472
33.3  接收定位数据更新broadcast474
33.4  使用定位数据刷新UI显示475
33.5  快速定位:最近一次地理位置479
33.6  在物理和虚拟设备上测试地理位置定位480
第34章 使用SQLite本地数据库482
34.1  在数据库中存储旅程和地理位置信息482
34.2  查询数据库中的旅程列表488
34.3  使用CursorAdapter显示旅程列表490
34.4  创建新旅程493
34.5  管理现有旅程494
34.6  挑战练习:识别当前跟踪的旅程500
第35章 使用Loader加载异步数据501
35.1  Loader与LoaderManager501
35.2  在RunTracker应用中使用Loader502
35.3  加载旅程列表503
35.4  加载单个旅程506
35.5  加载旅程的最近一次地理位置509
第36章 使用地图511
36.1  添加Maps API给RunTracker应用511
36.1.1  使用物理设备测试地图511
36.1.2  安装使用Google Play services SDK511
36.1.3  获取Google Maps API key512
36.1.4  更新RunTracker应用的manifest配置文件512
36.2  在地图上显示用户的地理位置513
36.3  显示旅程路线516
36.4  为旅程添加开始和结束地图标注520
36.5  挑战练习:实时数据更新521
第37章 编后语522
37.1  终极挑战522
37.2  关于我们523
37.3  致谢523
內容試閱
【译者序】
2007年,苹果公司发布了革命性的iPhone,自此开启了智能手机的新时代。随后,2008年,谷歌公司和开放手机联盟共同开发并推出了Android智能手机。时至今日,移动智能设备不仅深刻影响了智能手机行业,也改变了整个科技产业以及人们生活的方方面面,在全球掀起巨大的移动浪潮。
迎着这股浪潮,国际巨头、创业公司、独立开发者各展身手,奋力搏击,抢登浪潮之巅。苹果一度成了全球市值最高的公司,三星则是卖出了数亿部Android手机。2013年,百度以19亿美元的价格收购了91无线。2014年开春,Facebook更是以190亿美元的天价收购了开发WhatsApp应用仅有50名员工的公司,直接把这股移动浪潮推到了巅峰。
豪不夸张地说,所有这一切都离不开移动软件的开发。目前主流的开发平台是苹果的iOS系统和谷歌的Android系统。凭借精美绝伦的UI、流畅顺滑的交互体验,iOS开发在早期抢占了先机。但如今,谷歌在Android系统UI设计及优化方面的前进步伐已赶超苹果在创新方面的进步。越来越多的软件人开始投身Android应用开发阵营。对于业余爱好者来说,Android还是iOS,喜欢谁就选谁。而对于专业开发人员,果粉也好,Android迷也罢,从职业发展及商业利益角度来说,掌握双平台开发是必须的。
作为荣获2012 Jolt 生产力大奖的iOS编程教程的姊妹篇,Big Nerd Ranch公司再接再厉,推出了这本《Android编程权威指南》。英文版甫一上架立即赢得了Amazon读者的广泛赞誉。本书基于Big Nerd Ranch公司的Bootcamp教程编写而成。Big Nerd Ranch创办于2001年,是美国一家知名IT培训公司,每年为微软、谷歌、Faceboook等行业巨头培养众多专业人才。而BootCamp在英文中原意为美国海军陆战队新兵训练营,应用于IT培训行业中,意指通过全真IT项目实战,培训出像美国海军陆战队员那样优秀的IT人才。
本书适合有一定Java编程经验(至少熟悉Java)并对Android开发感兴趣的读者阅读。本书最大的特点是,从Android应用的基本概念及组成开始介绍直至完成一个复杂实用的谷歌地图应用,作者巧妙地把Android开发所需的庞杂知识、行业实践、编程规范等融入本书,并以一种润物无声的导学方式引领读者轻松完成全书的开发学习。第26章在讲解后台任务和线程时,作者寓教于乐,还精心安排了在鞋店工作的闪电侠案例,既能帮助读者形象地理解复杂抽象概念,又让人印象深刻,难以忘却。类似这样的案例、幽默全书俯拾皆是,还是等读者自己去发掘吧。另外,几乎每章都配有深入学习及难度逐步升级的挑战练习版块。深入学习意在让读者进一步掌握本章关键知识点并指明学习更高级主题的方向;挑战练习能够让读者立即获得练手的机会,通过练习巩固运用所学知识。学完本书,在实际开发中,读者自然而然就会知道该做什么,如何去做以及为什么这样做。
最后,感谢图灵各位编辑老师的辛勤工作,尤其感谢李静老师的细心指导,本书及本人都获益良多。更要感谢的是我的clover和千寻,没有他们的宽容、理解与支持,本书译稿不可能完成。
虽然我已尽力传达原作本意并保证译稿的较高质量,但有时拼写错误、因版本升级而导致某些内容不再适用,甚至是囿于个人水平而犯错的情况再所难免。如果你发现了问题或有好的建议,请批评指正并不吝电邮提交至BNRAndroid@gmail.com或反馈至图灵社区。
2014年2月28日于上海

 

 

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