zoukankan      html  css  js  c++  java
  • 《Android编程权威指南》

    《Android编程权威指南》

    基本信息

    原书名:Android programming: the big nerd ranch guide

    原出版社: Big Nerd Ranch Guides

    作者: (美)Bill Phillips    Brian Hardy   

    译者: 王明发

    丛书名: 图灵程序设计丛书

    出版社:人民邮电出版社

    ISBN:9787115346438

    上架时间:2014-3-18

    出版日期:2014 年4月

    开本:16开

    页码:523

    版次:1-1

    所属分类:计算机 > 软件与程序设计 > 移动开发 > Android

     

    更多关于》》》 《Android编程权威指南》

    编辑推荐 

          Amazon榜首畅销书

      全面覆盖Android开发知识点

      全真示例、循循善诱、轻松上手

    内容简介

        书籍

        计算机书籍

      big nerd ranch 是美国一家专业的移动开发技术培训机构,《android编程权威指南》主要以训练营的5 天教学课程为基础,融合了两位作者多年的心得体会,是一本完全面向实战的android 编程权威指南。全书共37 章,详细介绍了geoquiz、hellomoon、draganddraw 等8 个android 应用。这些应用的难易程度不一,最复杂的criminalintent 应用占用了13 章的篇幅。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得最前沿的开发经验。

      如果你熟悉java 语言,或者了解对面向对象编程,那就立刻开始android 编程之旅吧! 

    媒体评论

      “对我们来说,这是一本非常全面的培训教材,它已使数百名工程师掌握了构建Android应用的诀窍。另外,对想要提升Android开发技能的人,这本书同样也有很大帮助。”

      ——Mike Shaver,Facebook通信工程主管

      “不管是你刚刚迈进Android开发的大门,还是准备掌握更多高级开发技术,本书都非常值得看。它那完整的内容体系、清晰的组织结构,以及轻松的讲述风格,都让人过目不忘。”

      ——James Steele,《Android开发秘籍》作者

    目录

    《android编程权威指南》

    第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  使用 logcat  48

    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 lint  73

    4.4.2  r类的问题  74

    第5章 第二个activity  75

    5.1  创建第二个activity  76

    5.1.1  创建新布局  77

    5.1.2  创建新的activity子类  80

    5.1.3  在manifest配置文件中声明activity  81

    5.1.4  为quizactivity添加cheat按钮  82

    5.2  启动activity  83

    5.3  activity间的数据传递  85

    5.3.1  使用intent extra  86

    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  全新的系统版本——honeycomb  97

    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  着手开发criminalintent  108

    7.3.1  创建新项目  110

    7.3.2  fragment与支持库  112

    7.3.3  创建crime类  113

    7.4  托管ui fragment  115

    7.4.1  fragment的生命周期  115

    7.4.2  托管的两种方式  116

    7.4.3  定义容器视图  116

    7.5  创建ui fragment  117

    7.5.1  定义crimefragment的布局  118

    7.5.2  创建crimefragment类  119

    7.6  添加ui fragment到fragmentmanager  122

    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.5  android:layout_weight属性的工作原理  141

    8.5.6  图形布局工具使用总结  142

    8.5.7  组件id与多种布局  142

    8.6  挑战练习:日期格式化  143

    第9章 使用listfragment显示列表  144

    9.1  更新criminalintent应用的模型层  145

    9.2  创建listfragment  147

    9.3  使用抽象activity托管fragment  149

    9.3.1  通用的fragment托管布局  149

    9.3.2  抽象activity类  150

    9.4  listfragment、listview及arrayadapter  154

    9.4.1  创建arrayadapter[t]类实例  157

    9.4.2  响应列表项的点击事件  159

    9.5  定制列表项  160

    9.5.1  创建列表项布局  160

    9.5.2  创建adapter子类  162

    第10章 使用fragment argument  165

    10.1  从fragment中启动activity  165

    10.1.1  附加extra信息  166

    10.1.2  获取extra信息  167

    10.1.3  使用crime数据更新crimefragment视图  167

    10.1.4  直接获取extra信息方式的缺点  169

    10.2  fragment argument  169

    10.2.1  附加argument给fragment  169

    10.2.2  获取argument  170

    10.3  重新加载显示列表项  171

    10.4  通过fragment获取返回结果  172

    第11章 使用viewpager  174

    11.1  创建crimepageractivity  175

    11.1.1  以代码的方式定义并产生布局  176

    11.1.2  viewpager与pager-adapter  177

    11.1.3  整合配置并使用crimepageractivity  178

    11.1.4  fragmentstatepager-adapter与fragment-pageradapter  180

    11.2  深入学习:viewpager的工作原理  182

    第12章 对话框  184

    12.1  创建dialogfragment  186

    12.1.1  显示dialogfragment  187

    12.1.2  设置对话框的显示内容  188

    12.2  fragment间的数据传递  190

    12.2.1  传递数据给datepicker-fragment  191

    12.2.2  返回数据给crimefragment  193

    12.3  挑战练习:更多对话框  198

    第13章 使用mediaplayer播放音频  199

    13.1  添加资源  200

    13.2  定义hellomoonfragment布局文件  202

    13.3  创建hellomoonfragment  203

    13.4  使用布局fragment  204

    13.5  音频播放  205

    13.6  挑战练习:暂停音频播放  208

    13.7  深入学习:播放视频  208

    13.8  挑战练习:在hellomoon应用中播放视频  208

    第14章 fragment的保留  209

    14.1  保留fragment实例  209

    14.2  设备旋转与保留的fragment  210

    14.3  保留的fragment:一切都完美了吗  212

    14.4  设备旋转处理与onsaveinstance-state(bundle)方法  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 i/o  248

    第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  深入学习:actionbarsherlock  261

    18.7  挑战练习:使用actionbarsherlock  263

    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  创建crimecamerafragment  269

    19.3  创建crimecameraactivity  269

    19.4  使用相机api  271

    19.4.1  打开并释放相机  271

    19.4.2  surfaceview、surface-holder与surface  272

    19.4.3  确定预览界面大小  276

    19.4.4  启动crimecamera-activity  277

    19.5  深入学习:以命令行的方式运行activity  281

    第20章 相机 ii:拍摄并处理照片  283

    20.1  拍摄照片  283

    20.1.1  实现相机回调方法  285

    20.1.2  设置图片尺寸大小  288

    20.2  返回数据给crimefragment  288

    20.2.1  以接收返回值的方式启动crimecameraactivity  289

    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章 隐式intent  305

    21.1  添加按钮组件  306

    21.2  添加嫌疑人信息至模型层  307

    21.3  使用格式化字符串  308

    21.4  使用隐式intent  309

    21.4.1  典型隐式intent的组成  310

    21.4.2  发送陋习报告  311

    21.4.3  获取联系人信息  313

    21.4.4  检查可以响应的activity  316

    21.5  挑战练习:又一个隐式intent  317

    第22章 master-detail用户界面  318

    22.1  增加布局灵活性  319

    22.1.1  修改singlefragment-activity  320

    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  解析隐式intent  334

    23.3  在运行时创建显式intent  337

    23.4  任务与后退栈  338

    23.5  使用nerdlauncher应用作为设备主屏幕  341

    23.6  挑战练习:应用图标与任务重排  341

    23.7  进程与任务  341

    第24章 样式与include标签的使用  343

    24.1  创建remotecontrol项目  344

    24.1.1  编码实现remotecontrol-activity  344

    24.1.2  创建remotecontrol-fragment  345

    24.2  使用样式消除重复代码  348

    24.3  完善布局定义  350

    24.4  深入学习:使用include与merge标签  353

    24.5  挑战练习:样式的继承  354

    第25章 xml drawable与9-patches  355

    25.1  xml drawable  356

    25.2  state list drawable  358

    25.3  layer list与inset drawable  360

    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  深入学习:再探asynctask  385

    26.8  挑战练习:分页  386

    第27章 looper、handler与handlerthread  387

    27.1  设置gridview以显示图片  387

    27.2  批量下载缩略图  390

    27.3  与主线程通信  390

    27.4  创建并启动后台线程  391

    27.5  message与message handler  393

    27.5.1  消息的剖析  393

    27.5.2  handler的剖析  393

    27.5.3  使用handler  395

    27.5.4  传递handler  397

    27.6  深入学习:asynctask与thread  401

    27.7  挑战练习:预加载以及缓存  401

    第28章 搜索  402

    28.1  搜索flickr网站  402

    28.2  搜索对话框  404

    28.2.1  创建搜索界面  404

    28.2.2  可搜索的activity  406

    28.2.3  物理搜索键  408

    28.2.4  搜索的工作原理  409

    28.2.5  启动模式与新的intent  410

    28.2.6  使用shared preferences实现轻量级数据存储  412

    28.3  在android 3.0以后版本的设备上使用searchview  414

    28.4  挑战练习  416

    第29章 后台服务  417

    29.1  创建intentservice  417

    29.2  服务的作用  419

    29.3  查找最新返回结果  421

    29.4  使用alarmmanager延迟运行服务  422

    29.4.1  pendingintent  424

    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 intent  433

    30.1  随设备重启而重启的定时器  433

    30.1.1  配置文件中的broadcast receiver  434

    30.1.2  如何使用receiver  435

    30.2  过滤前台通知消息  436

    30.2.1  发送broadcast intent  437

    30.2.2  动态broadcast receiver  437

    30.2.3  使用私有权限  440

    30.2.4  使用ordered broadcast接收结果  442

    30.3  receiver与长时运行任务  446

    第31章 网页浏览  447

    31.1  最后一段flickr数据  447

    31.2  简单方式:使用隐式intent  448

    31.3  较难方式:使用webview  449

    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-activity  458

    32.1.2  创建draganddraw-fragment  459

    32.2  创建定制视图  460

    32.3  处理触摸事件  462

    32.4  ondraw(...)方法内的图形绘制  465

    32.5  挑战练习:设备旋转问题  467

    第33章 跟踪设备的地理位置  468

    33.1  启动runtracker项目  468

    33.1.1  创建runactivity  469

    33.1.2  创建runfragment  470

    33.2  地理位置与locationmanager  472

    33.3  接收定位数据更新broadcast  474

    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与loadermanager  501

    35.2  在runtracker应用中使用loader  502

    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 sdk  511

    36.1.3  获取google maps api key  512

    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

    本图书信息来源:互动出版网

  • 相关阅读:
    【python】PyQt5 QAction 添加点击事件
    【环境搭建】安装pyQt5 在pycharm报This application failed to start because no Qt platform plugin could be initialized的问题
    【嵌入式】arduino IDE串口监视器可以正常使用但其他软件发送串口指令没有反应的问题
    【操作系统】bat文件 系统找不到文件路径
    十天冲刺:第二天
    十天冲刺:第一天
    项目需求分析NABCD电梯演讲
    项目需求分析与建议-NABCD模型
    团队开发之团队介绍
    会议1.7
  • 原文地址:https://www.cnblogs.com/china-pub/p/3659070.html
Copyright © 2011-2022 走看看