如何才能全面而透彻地理解和掌握移动应用开发框架Sencha Touch并开发出令人心动的移动应用?本书将给我们满意的答案!它的内容系统而全面,细致地讲解了Sencha Touch的所有功能、特性、使用方法、开发技巧,让我们能做到对Sencha Touch了如指掌;它实战性强,不仅每个知识点都配有精心设计的小案例(具体的实现步骤、完整的实现代码、最终的实现效果,图文并茂),而且还有综合性的案例,能让我们迅速获得实战经验。本书所有实例代码都经调试运行成功,我们可以对这些代码进行修改,以便观察各种不同效果,加深对实例代码的理解。
第一部分(第1~2章):首先介绍了Sencha Touch的功能和特性,然后介绍了如何搭建开发环境和发布应用程序,以及Sencha Touch的相关基础知识;第二部分(第3~15章):这是本书的核心部分,对Sencha Touch 所有常用的各种布局、组件和API的功能、特性和使用方法进行了全面而具体的讲解,不仅能帮助我们熟练地对Sencha Touch中的组件使用各种样式、在Sencha Touch 的应用中使用自定义样式主题,而且还能够结合Sencha Touch的命令行工具和Sencha公司的SDK开发工具创建并部署一个MVC模式的应用。第三部分(第16章):本章以迭代的方式实现了一个MVC模式的综合应用案例并对它进行了详细的剖析,该案例涵盖了本书各章中所涉及的大部分知识点,读者可以根据书中的步骤进行实践操作,理论联系实际,以巩固所学的理论知识。
封面图
目录
- 前言
- 第一部分准备篇
- 第1章Sencha Touch 2.0概述 / 2
- 1.1认识Sencha Touch / 2
- 1.1.1Sencha Touch框架的特性 / 2
- 1.1.2Sencha Touch 2.0中的新特性 / 3
- 1.2Sencha Touch 2.0框架 / 4
- 1.2.1搭建学习环境 / 4
- 1.2.2开发包中的内容 / 10
- 1.2.3第一个Sencha Touch 2.0示例页面 / 11
- 1.3构建及发布应用程序 / 13
- 1.3.1Sencha Touch 2.0中的动态加载技术 / 13
- 1.3.2几种核心脚本文件之间的区别 / 14
- 1.3.3构建应用程序时执行的处理 / 14
- 1.3.4发布应用程序 / 16
- 1.4本章小结 / 17
- 第2章Sencha Touch 2.0基础知识 / 18
- 2.1一个简单的示例页面 / 18
- 2.2配置对象与配置选项 / 19
- 2.3应用程序的命名与启动 / 21
- 2.4Sencha Touch 2.0中的面板组件 / 22
- 2.4.1如何创建面板组件 / 22
- 2.4.2Viewport组件 / 23
- 2.5对DOM的访问及控制 / 23
- 2.5.1Ext.get方法的使用 / 24
- 2.5.2Ext.ComponentManager.get方法的使用 / 24
- 2.5.3Ext.fly方法的使用 / 25
- 2.6本章小结 / 26
- 第二部分基础篇
- 第3章面板与布局 / 28
- 3.1在面板组件中放置图片 / 28
- 3.1.1示例代码及配置选项 / 28
- 3.1.2Sencha Touch 2.0中的图片组件 / 30
- 3.1.3Sencha Touch 2.0中的事件监听器及事件处理函数 / 30
- 3.1.4Sencha Touch 2.0中的动态加载技术 / 31
- 3.2Tab面板组件 / 33
- 3.2.1Tab面板组件的使用及示例 / 33
- 3.2.2Tab面板组件的配置选项 / 35
- 3.2.3Sencha Touch 2.0中的内置图标 / 36
- 3.3Sencha Touch 2.0中的常用布局 / 38
- 3.3.1盒布局 / 38
- 3.3.2Fit布局 / 42
- 3.3.3Card布局 / 44
- 3.3.4容器内部组件的停靠 / 47
- 3.4Carousel组件 / 49
- 3.4.1Carousel组件的使用及示例 / 49
- 3.4.2容器组件的defaults配置选项 / 51
- 3.4.3Carousel组件的常用方法 / 52
- 3.5NavigationView组件 / 53
- 3.5.1NavigationView组件的使用及示例 / 53
- 3.5.2配置NavigationView组件的标题栏 / 55
- 3.6xtype配置选项 / 56
- 3.6.1xtype配置选项的使用及示例 / 56
- 3.6.2使用getComponent方法获取容器中的子组件 / 58
- 3.6.3重要组件的xtype值及作用 / 59
- 3.7本章小结 / 60
- 第4章表单及表单域组件 / 61
- 4.1一个最简单的表单示例 / 61
- 4.1.1表单的核心组件 / 61
- 4.1.2第一个表单使用示例 / 62
- 4.1.3表单所用配置选项 / 63
- 4.1.4Sencha Touch 2.0中的滚动 / 67
- 4.2Sencha Touch 2.0中的特殊输入组件 / 69
- 4.2.1密码输入组件 / 69
- 4.2.2数值输入组件 / 70
- 4.2.3Spinner组件 / 71
- 4.2.4Email输入组件 / 72
- 4.2.5Url输入组件 / 73
- 4.2.6TextArea组件 / 74
- 4.2.7Search组件 / 75
- 4.3单选框与复选框组件 / 76
- 4.3.1单选框组件 / 76
- 4.3.2复选框组件 / 80
- 4.4选取框组件 / 81
- 4.4.1选取框组件的使用示例 / 81
- 4.4.2选取框组件所用配置选项 / 83
- 4.5使用数据仓库装载选取框 / 84
- 4.5.1什么是数据仓库 / 84
- 4.5.2使用本地数据装载选取框 / 86
- 4.5.3代理与阅读器 / 88
- 4.5.4使用服务器端数据装载选取框 / 89
- 4.6日期选择组件 / 91
- 4.6.1日期选择组件使用示例 / 91
- 4.6.2日期选择组件所用配置选项 / 92
- 4.7滑动条组件 / 94
- 4.7.1滑动条组件使用示例 / 94
- 4.7.2滑动条组件所用配置选项 / 95
- 4.7.3setValue方法与getValue方法 / 95
- 4.8Toggle组件 / 95
- 4.9Hidden组件 / 96
- 4.10本章小结 / 97
- 第5章表单验证及提交 / 98
- 5.1Sencha Touch 2.0中的按钮 / 98
- 5.1.1按钮的使用及示例 / 98
- 5.1.2修改按钮的样式 / 99
- 5.1.3定义按钮的功能 / 102
- 5.2表单验证 / 103
- 5.2.1实现表单的AJAX异步提交 / 103
- 5.2.2使用Sencha Touch 2.0中的内置验证 / 108
- 5.2.3服务器端验证及验证成功后数据的追加 / 114
- 5.3装载表单数据 / 115
- 5.3.1装载本地数据 / 115
- 5.3.2装载服务器端数据 / 117
- 5.3.3修改服务器端数据 / 120
- 5.3.4删除服务器端数据 / 123
- 5.4将表单设定为无效状态 / 125
- 5.5本章小结 / 126
- 第6章工具条 / 127
- 6.1工具条组件的使用及示例 / 127
- 6.2segmentedButton组件 / 128
- 6.2.1在工具条中放置segmentedButton组件示例 / 129
- 6.2.2segmentedButton组件的配置选项 / 130
- 6.3工具条的对齐方式与分隔符 / 131
- 6.3.1工具条右对齐示例 / 131
- 6.3.2在子组件中插入间隔距离示例 / 132
- 6.4在工具条中使用图标按钮 / 133
- 6.4.1使用自定义图标按钮 / 133
- 6.4.2使用Sencha Touch 2.0中的内置图标按钮 / 135
- 6.5在工具条中使用表单域组件 / 135
- 6.6标题条组件 / 138
- 6.6.1标题条组件与工具条组件的区别 / 138
- 6.6.2标题条组件的使用示例 / 139
- 6.7本章小结 / 139
- 第7章XTemplate模板与DomHelper组件 / 141
- 7.1XTemplate模板 / 141
- 7.1.1定义XTemplate模板 / 141
- 7.1.2在模板中使用数组 / 144
- 7.1.3在模板中使用操作符 / 148
- 7.1.4在模板中使用内置变量 / 149
- 7.1.5在模板中使用自定义函数 / 151
- 7.2DomHelper组件 / 153
- 7.2.1使用append方法追加元素 / 153
- 7.2.2使用overwrite方法重写元素 / 155
- 7.2.3在指定位置处追加与删除元素 / 156
- 7.3本章小结 / 162
- 第8章DataView组件 / 163
- 8.1DataView组件的基本功能 / 163
- 8.1.1DataView组件的使用及示例 / 163
- 8.1.2对DataView组件使用样式 / 166
- 8.1.3将DataView组件中的数据进行排序 / 168
- 8.1.4DataView组件的选取方式 / 171
- 8.2DataView组件的常用事件 / 171
- 8.2.1itemsingletap事件、itemdoubletab事件与itemtap事件 / 171
- 8.2.2itemswipe事件 / 173
- 8.2.3refresh事件 / 175
- 8.2.4selectionchange事件与deselect事件 / 177
- 8.3使用DataView组件制作一览表 / 183
- 8.3.1制作一览表的步骤 / 183
- 8.3.2为一览表添加排序功能 / 185
- 8.3.3为一览表添加搜索功能 / 189
- 8.4使用DataView组件显示服务器端数据 / 193
- 8.4.1显示XML文件中的数据 / 193
- 8.4.2显示JSON文件中的数据 / 197
- 8.4.3显示服务器端数据库中的数据 / 198
- 8.4.4对服务器端的数据进行分页 / 200
- 8.4.5在服务器端对数据进行排序 / 206
- 8.4.6对数据库中的数据进行搜索 / 212
- 8.5使用代理管理数据 / 223
- 8.5.1Memory代理 / 223
- 8.5.2SessionStorage代理 / 235
- 8.5.3LocalStorage代理 / 240
- 8.5.4Ajax代理 / 241
- 8.5.5Rest代理 / 247
- 8.6Operation对象的使用方法 / 253
- 8.6.1通过Operation对象插入url参数 / 253
- 8.6.2获取分页数据 / 255
- 8.6.3对服务器端数据进行排序与过滤 / 260
- 8.7获取异域数据 / 263
- 8.7.1通过JsonP代理获取异域数据 / 264
- 8.7.2利用Ext.data.JsonP对象获取异域数据 / 268
- 8.8本章小结 / 275
- 第9章List组件 / 276
- 9.1List组件的基本功能 / 276
- 9.1.1使用List组件在页面上显示列表 / 276
- 9.1.2itemDisclosure事件 / 277
- 9.1.3在List组件中使用索引栏 / 279
- 9.1.4ListPagingView插件 / 280
- 9.2将List组件中的数据进行分组 / 282
- 9.2.1使用grouper配置选项进行分组 / 283
- 9.2.2动态设置List组件的分组方式 / 286
- 9.2.3动态更新数据时List组件的自动分组 / 287
- 9.3nestedList组件 / 289
- 9.3.1nestedList组件的使用及示例 / 290
- 9.3.2显示服务器端文件夹及文件列表 / 297
- 9.3.3显示服务器端数据库中的数据 / 302
- 9.4本章小结 / 307
- 第10章地图与多媒体 / 308
- 10.1利用Map组件在页面中显示Google地图 / 308
- 10.1.1Map组件的使用及示例 / 308
- 10.1.2Ext.util.Geolocation类的使用及示例 / 309
- 10.2利用Video组件播放视频文件 / 313
- 10.2.1Video组件的使用及示例 / 313
- 10.2.2控制视频的主要的方法 / 315
- 10.3利用Audio组件播放音频文件 / 317
- 10.3.1Audio组件的使用及示例 / 317
- 10.3.2控制音频的主要方法 / 318
- 10.4本章小结 / 320
- 第11章使用具有关联关系的模型 / 321
- 11.1定义具有关联关系的模型 / 321
- 11.2定义具有一对多关系的模型 / 322
- 11.2.1一对多关系模型的使用示例 / 323
- 11.2.2使用子模型的数据仓库存取数据 / 326
- 11.2.3定制父模型的过滤器 / 337
- 11.3定义具有多对一关系的模型 / 343
- 11.3.1多对一关系的模型的使用示例 / 343
- 11.3.2通过子模型的getter方法获取父模型的记录 / 346
- 11.3.3通过子模型的setter方法设置关联id / 351
- 11.4定义具有一对一关系的模型 / 361
- 11.4.1通过模型的getter方法获取其关联模型的记录 / 361
- 11.4.2通过模型的setter方法设置关联id / 363
- 11.5在同一个模型内部建立关联关系 / 364
- 11.6本章小结 / 369
- 第12章Sencha Touch 2.0中的Ext Direct API / 370
- 12.1服务器端提供的组件/ 370
- 12.1.1配置 / 370
- 12.1.2API / 372
- 12.1.3路由 / 372
- 12.2Sencha Touch 2.0中的Provider / 374
- 12.2.1PollingProvider方法的使用及示例 / 374
- 12.2.2RemotingProvider方法的使用及示例 / 377
- 12.3 Direct代理 / 387
- 12.3.1Direct代理的使用示例 / 388
- 12.3.2在Direct代理所使用的方法中提交命名参数 / 391
- 12.4DirectStore数据仓库/ 394
- 12.5本章小结 / 402
- 第13章自适应尺寸的Sheet组件 / 403
- 13.1Sheet组件简介 / 403
- 13.2ActionSheet组件的使用及示例 / 403
- 13.3Sencha Touch 2.0中的提示信息框 / 406
- 13.3.1提示信息框 / 406
- 13.3.2确认信息框 / 408
- 13.3.3Ext.Msg.show方法 / 409
- 13.4Picker组件的使用及示例 / 411
- 13.5使用DatePicker组件选取日期 / 417
- 13.6本章小结 / 419
- 第14章Sencha Touch 2.0中的样式与主题 / 420
- 14.1利用配置选项设置单个组件的样式 / 420
- 14.2Sencha Touch 2.0中的内置主题 / 421
- 14.2.1重载默认主题中组件的样式 / 421
- 14.2.2修改Sencha Touch 2.0中的内置主题 / 422
- 14.3利用SASS定制Sencha Touch 2.0的主题 / 423
- 14.3.1安装SASS和Compass / 423
- 14.3.2在Sencha Touch 2.0中使用SASS/ 424
- 14.3.3修改Sencha Touch 2.0默认主题中的变量 / 425
- 14.4SCSS样式表文件 / 426
- 14.4.1SCSS提供的高级特性 / 426
- 14.4.2Sencha Touch 2.0提供的mixin / 431
- 14.4.3编译SCSS样式表文件 / 432
- 14.4.4应用SCSS样式表文件定制主题示例 / 433
- 14.4.5SCSS样式表文件中自定义组件样式的示例 / 434
- 14.5本章小结 / 436
- 第15章创建自定义组件与MVC模式的应用程序 / 437
- 15.1实现自定义组件 / 437
- 15.1.1Sencha Touch 2.0中的包与命名空间 / 437
- 15.1.2创建自定义组件 / 438
- 15.1.3为自定义组件添加自定义方法 / 441
- 15.2使用命令行工具创建及部署MVC模式的应用程序 / 443
- 15.2.1命令行工具的安装及使用 / 443
- 15.2.2创建MVC模式的应用程序 / 444
- 15.2.3部署MVC模式的应用程序 / 446
- 15.2.4页面文件与脚本文件分析 / 447
- 15.2.5应用程序中的默认命名约定 / 450
- 15.2.6应用程序启动时的函数调用顺序 / 451
- 15.3创建视图与控制器 / 452
- 15.3.1创建应用程序的主视图 / 452
- 15.3.2创建应用程序的主控制器 / 453
- 15.3.3通过控制器实现用户与应用程序之间的交互 / 454
- 15.4在控制器中指定路由 / 457
- 15.4.1通过routes配置选项指定路由 / 458
- 15.4.2在路由中使用参数 / 464
- 15.4.3通过before配置选项拦截路由方法的执行 / 467
- 15.5设备配置文件 / 474
- 15.5.1检测应用程序当前所用的设备配置文件 / 474
- 15.5.2为应用程序编制设备配置文件 / 475
- 15.5.3在设备配置文件中使用launch函数 / 476
- 15.5.4为设备单独编写视图 / 477
- 15.5.5将各种视图在不同的设备中以不同的方式进行结合 / 480
- 15.5.6为设备单独编写控制器 / 487
- 15.6本章小结 / 491
- 第三部分综 合 案 例
- 第16章综合应用案例 / 494
- 16.1应用程序的所有文件及其路径 / 494
- 16.2应用程序的页面文件与脚本文件 / 496
- 16.3利用SASS定制样式主题 / 498
- 16.4设备配置文件 / 500
- 16.5模型与数据仓库 / 501
- 16.6视图与控制器 / 508
- 16.6.1应用程序的主视图 / 508
- 16.6.2用户注册/登录视图与控制器 / 510
- 16.6.3展示视图及其控制器 / 516
- 16.6.4书籍列表展示视图与控制器 / 524
- 16.6.5书籍信息编辑视图与控制器 / 534
- 16.7本章小结 / 540