词条 | 人人都玩开心网 |
释义 | 本书的主旨为,以开心网为例实现Web版和Android版的SNS应用。本书分为四篇,前三篇主要实现了Web版的开心网系统。其中重点介绍了Ext JS技术,包括Ext JS的核心组件、对话框、表单组件、布局、数据校验、表格、菜单、树组件等技术。本书的最后一篇实现了Android版的开心网,并介绍了与 Android版开心网相关的技术,包括Button、TextView、EditText、ImageView、GridView等Android组件。互联网的发展,就是一个不断上演奇迹的过程。10年前就开始在Internet上流行的Web应用,在见证了一个个奇迹之后,依然作为最主流的应用而雄霸互联网。 图书信息书名:人人都玩开心网:Ext JS+Android+SSH整合开发Web与移动SNS作者:李宁 编著 ISBN 978-7-121-11167-9 出版日期:2010年7月 定价:65.00元(含光盘1张) 开本:16开 页码:536页 宣传语全流程剖析Web与Android应用程序的项目开发 全程实录、完整实现最火SNS社区 零基础掌握Ext JS,全方位介绍Ext JS 3.0 以Windows桌面程序开发思想指导基于Ext JS的Web应用 最超值的学习体验=最热的技术+最热的应用 作者简介李 宁,东北大学计算机专业硕士,拥有超过10年的软件开发经验。曾任国内某知名企业项目经理;目前担任eoe.Android和Ophonesdn版主;中国移动开发者社区OPhone专家;51CTO客座专家;CSDN博客专家。曾领导并参与开发多个大、中型项目。目前主要从事Android及其相关产品的研发,个人作品有:多功能日历、乐博Android客户端(可管理多个微博帐号)等。从2005年进入技术创作领域以来,为《程序员》、《电脑编程技巧与维护》、《电脑报》、IT168、天极网等平面或网络媒体撰写了一百多篇原创技术和评论文章,并在个人 Blog上发表了大量的原创技术文章。主要图书著作有:《Java Web开发速学宝典》、《Java Web开发技术大全》。 内 容 简 介本书适于以下几类人群:了解传统的Web应用程序的开发,希望使用Ext JS开发Web程序的开发人员;了解基本的Ext JS程序的开发方法,想增加实践经验的开发人员;对Ext JS感兴趣,想进一步提高Ext JS开发技能的读者;对Android感兴趣,想从事Android开发的读者;想开发基于Android客户端的C/S程序,但对开发流程不了解的读者。 前 言近几年,一个由国外风靡至国内的Web应用——SNS,再一次为举国上下的互联网普及大潮推波助澜。或许SNS听起来还有点陌生,但如果你连炙手可热的开心网都没有听过,就太OUT了。本书就是要揭开SNS的神秘面纱,让人人都可以把玩打造开心网的技术。 想开心,Follow Me! 实现SNS的道路有很多,为使读者能举一反三,真正进入商业级开发的殿堂,本书选择了最具前途的热门组合Ext JS + SSH + Android。它们是目前盛行于全球的Web与移动解决方案。 ⊙ 视觉为王时代的奇葩——Ext JS 王牌组合中首位登场的是Ext JS。这一基于Ajax的Web客户端框架,前身是Yahoo推出的YUI(Yahoo User Interface),经过不断发展和改进,已经成为非常完善的基于JavaScript的RIA Web框架。Ext JS出身名门,为实现基于Ajax的Web页面提供了极大的便利,而且整个Ext JS框架都采用了事件驱动,用其编写的程序更人性化。也正因如此,本书中开心网系统的客户端部分,就由迅速蹿红的Ext JS技术来完成。 ⊙ 宝刀未老的中坚力量——SSH Ext JS框架是实现客户端页面的最佳选择,但一个完善的开心网系统不能只有漂亮的Web页面,还要具备强大的服务端系统。企业级开发领域的重要角色Java,凭借在处理大吞吐量Web应用方面的巨大优势,成为完成这一任务的不二之选。但本书放弃了在系统规模较大时可能会造成逻辑混乱的JSP和Servlet,启用以Java Web技术为核心的Struts 2,其可将视图层、控制层和模型层(即常说的MVC模式)有效分开。同时,采用Hibernate来操作数据,采用Spring的IOC模式来增强系统灵活性。事实上,凭借稳定的应用与清晰的层次,SSH整合业已成为国内企业级Web开发的主流。 ⊙ 书写未来的移动新贵——Android 本书的关注点并未止步于传统互联网,快速发展的移动互联网同样是重点。跟随本书,你将看到移动(手机)版开心网的诞生过程。目前,移动终端操作系统有很多种,出于前瞻性的考虑,我们毅然选择了拥有Google这一强大后盾的开源平台Android。一方面,Android最有可能成为移动领域的Windows,另一方面,其主要开发语言是Java,便于从事过其他Java领域(如Java EE、Java Me、Java SE等)的开发人员快速掌握Android编程技能。 全新体验,潮流之选 本书的主旨为,以开心网为例实现Web版和Android版的SNS应用。 ⊙ 桌面版开心网的新玩法 SNS大热的一个重要体现就是相关网站的扎堆亮相。但这些网站大多基于传统Web风格,用户难免出现审美疲劳。本书中的Web版开心网另辟蹊径,采用模拟Windows XP桌面风格的Web页面,而且可以将常用的功能放到虚拟桌面上,并可实现任意拖动。同时还可以通过“开始”菜单任意设置桌面显示和图标,或打开相应子功能的页面。除此之外,每个子功能的界面也模拟了Windows XP的风格,可以最大化和最小化窗口。 ⊙ 将开放API进行到底 早期用户只能通过Web页面来访问网站,而最近开放API在SNS中蔚然成风,广大开发人员可利用这些开放API对网站进行扩展。这样做有两个好处,一是大量开发人员的参与,丰富了SNS的应用,改善了用户体验;二是减少了官方自己开发的成本。为了真实模拟市场需求,本书中的开心网系统也开放了部分API,Android客户端可通过Web Service和HTTP Get/Post方式与服务端交互。 全程实录开心网的炼成 实战是掌握知识与提升技能的最佳途径,本书更是将这一主旨发挥至极致。围绕技术讲解与开发实践两条线索,作者将一个完整的SNS系统分解成不同的功能模块,在这些模块所在的章节中分别采用各自对应的主流技术加以实现,并对相关技术进行细致讲解,力争做到知识点剖析与编程操作的充分融合。例如,在网络硬盘模块中,本书先着重介绍功能实现所需的Ext JS树型组件,然后趁热打铁,真实呈现其在网络硬盘中的应用。 本书主要内容 本书共分为四篇。其中前三篇主要实现了Web版的开心网系统,重点介绍了Ext JS技术,包括Ext JS的核心组件、对话框、表单组件、布局、数据校验、表格、菜单、树组件等技术。Ext JS部分着重讲解了表格、菜单及树组件,同时结合案例对Struts 2、Spring与Hibernate等Java Web开发核心技术在SNS中的应用进行了详尽描述。 Ext JS的表格组件功能十分强大,本书特意详细说明了按列排序、显示复选框、自动显示行号、表格分页、编辑表格内容、属性表格、表格分组等表格组件的所有特性。 树组件是Ext JS中的另一个重要组件,功能也较为复杂。本书介绍了树形组件的基本功能,以及树结点的拖放、过滤和排序等操作。 Ext JS中的菜单也比较丰富,包括简单菜单、下拉菜单、多级菜单,以及多选和单选菜单,并支持向菜单中添加分隔线。 由于开心网涉及Ext JS的大多数功能,因此本书在每讲完一项技术后,就会利用这项技术及之前讲过的技术继续完善开心网系统,使读者对Ext JS技术的掌握水平能快速向实战要求靠拢。 本书的最后一篇实现了Android版的开心网,并介绍了与Android版开心网相关的技术,包括Button、TextView、EditText、ImageView、GridView等Android常用组件。 本书适合的读者 了解传统Web应用程序的开发,希望使用Ext JS开发Web程序的开发人员。 了解基本Ext JS程序的开发方法,想增加实践经验的开发人员。 对Ext JS感兴趣,想进一步提高Ext JS开发技能的读者。 对Android感兴趣,想从事Android开发的读者。 想开发基于Android客户端的C/S程序,但对开发流程不了解的读者。 本书的特色与优势 阅读本书不要求读者对Ext JS非常熟悉,只要了解JavaScript编程,就可以跟随本书从零开始学习Ext JS开发。 国内少有的综合讲解使用Java Web、Ext JS及Android开发SNS的书。 一个完整的开心网案例贯穿全书,使读者在学习知识的同时,可逐步学会如何开发出一个完整的SNS系统。 本书详细介绍了Ext JS 3.0的方方面面,是学习Ext JS技术的首选。 本书不仅介绍了开发Web版开心网的方法,也介绍了如何使用Android开发移动版开心网的方法。 读者通过对本书的学习,可以开发出类似Windows桌面效果的程序,而这类程序在企业应用中经常遇到。 随书光盘 本书所有例子的代码均可在光盘中找到,读者可启动Eclipse,单击【File > Import】菜单项导入源代码。在每一章的引言中,对本章实例源代码在光盘中的位置都进行了说明,读者可以对照着说明查找。 目 录第一篇 搭建开心网的基本框架 第1章 开发梦缘起开心网 2 1.1 异军突起:开心网 2 1.2 风靡网络的开心网是如何炼制的 3 1.2.1 开心网的引爆点 3 1.2.2 开心网的主要功能 3 1.3 编程高手的预言:人人都有开心网 5 1.3.1 自己搭建开心网:绚丽页面先睹为快 5 1.3.2 万丈高楼平地起:技术储备 6 1.3.3 开心网的安装和运行 7 1.4 本章小结 10 第2章 SSH整合铸就进入开心网的钥匙:用户注册 11 2.1 MVC框架的王者:Struts 2 11 2.1.1 Struts 2与MVC模式 11 2.1.2 Struts 2最新版的下载与安装 13 2.1.3 通过一个计算加减法的Web程序来体验MVC模式的好处 13 2.2 绝不重造轮子:Spring 17 2.2.1 Spring与IOC模式 17 2.2.2 Spring最新版的下载与安装 18 2.2.3 Struts 2和Spring整合的原理 19 2.2.4 用整合Struts 2和Spring的方式重新实现计算加减法的Web程序 21 2.3 数据持久化的最佳利器:Hibernate 25 2.3.1 Hibernate最新版的下载与安装 25 2.3.2 做一个程序来试一下Hibernate 26 2.4 三位一体:SSH整合 29 2.4.1 整合方法一:直接获得ApplicationContext对象 29 2.4.2 整合方法二:由Spring创建Action类的对象实例 32 2.4.3 整合方法三:自动装配Action类的属性 34 2.5 利用SSH整合技术实现基于四层结构的用户注册系统 34 2.5.1 编写映射用户表的实体Bean 34 2.5.2 编写数据访问层(DAO)组件 35 2.5.3 编写业务逻辑层(Service)组件 36 2.5.4 编写RegisterAction类 37 2.5.5 使用Struts 2标签生成用户注册页面 37 2.6 本章小结 38 第3章 在用户注册和登录功能中引入Ext JS技术 39 3.1 用户注册登录系统的页面及所使用的Ext JS组件 39 3.1.1 经过Ext JS渲染的用户注册页面 39 3.1.2 经过Ext JS渲染的用户登录页面 40 3.1.3 注册和登录页面中所使用的Ext JS组件 40 3.1.4 注册和登录页面中的对话框和布局 41 3.2 用Ext JS框架实现的绚丽页面 42 3.3 揭开Ext JS的神秘面纱 43 3.3.1 下载和安装Ext JS框架 43 3.3.2 编写第一个Ext JS程序 44 3.3.3 页面文字的国际化 45 3.3.4 查看Ext JS API 46 3.3.5 查看本地的Ext JS官方文档和例子 46 3.4 Ext JS的事件 47 3.4.1 注册和删除浏览器事件 47 3.4.2 Ext JS的基类:Ext.util.Observable 48 3.5 Ext JS中的核心组件 51 3.5.1 所有可视化组件的基类:Ext.Component 51 3.5.2 可设置大小和位置的基类:Ext.BoxComponent 53 3.5.3 容器组件:Ext.Container 54 3.5.4 按钮组件:Ext.Button 55 3.5.5 面板组件:Ext.Panel 56 3.5.6 承载注册和登录页面的组件:Ext.Window 57 3.6 对话框 58 3.6.1 提醒(Alert)对话框 59 3.6.2 确认(Confirm)对话框 59 3.6.3 输入(Prompt)对话框 60 3.6.4 等待(Wait)对话框 60 3.6.5 进度(Progress)对话框 61 3.6.6 多行输入对话框 62 3.6.7 “是(Yes)/否(No)/取消(Cancel)”对话框 62 3.6.8 显示带图像的对话框 63 3.7 表单组件 64 3.7.1 一切表单组件的载体:Ext.form.FormPanel 64 3.7.2 文本输入组件:Ext.form.TextField 65 3.7.3 多行文本输入组件:Ext.form.TextArea 66 3.7.4 提交信息编码的隐藏域组件:Ext.form.Hidden 66 3.7.5 显示年、月、日的组件:Ext.form.DateField 67 3.7.6 显示时、分的组件:Ext.form.TimeField 68 3.7.7 下拉列表框组件:Ext.form.ComboBox 68 3.7.8 下拉输入框组件:Ext.form.TriggerField 69 3.8 让组件按照自己的意志进行排列:组件布局 70 3.8.1 垂直表单布局:FormLayout 71 3.8.2 水平列布局:ColumnLayout 72 3.8.3 Ext.form.FieldSet在布局中的应用 73 3.9 项目实战:设计注册系统的页面 74 3.9.1 对基本信息布局 74 3.9.2 对输入个人信息的组件布局 75 3.9.3 对进行校验码验证的组件布局 77 3.10 项目实战:重新设计服务端组件 78 3.10.1 修改User类 78 3.10.2 重新实现数据访问层 79 3.10.3 重新实现业务逻辑层 80 3.11 项目实战:与服务端通信 82 3.11.1 与服务端同步:远程装载数据 82 3.11.2 在用户注册系统中动态装载更复杂的数据 83 3.11.3 在用户注册系统中提交表单 87 3.12 项目实战:用户登录系统的实现 87 3.13 本章小结 88 第4章 更完美的改进:扩展用户注册和登录系统 89 4.1 先睹为快:改进后的用户注册和登录页面 89 4.1.1 增加了用户校验功能的用户注册页面 89 4.1.2 新的用户登录页面:用4种方式保存登录状态 90 4.2 防患于未然:客户端校验 90 4.2.1 无论如何要有一个值:非空校验 90 4.2.2 控制输入的字符串:最大长度和最小长度校验 91 4.2.3 只能输入数字:NumberField组件 92 4.2.4 使用统一的标准:Ext JS中的内嵌校验规则 93 4.2.5 更灵活的校验:正则表达式校验 95 4.2.6 随心所欲的校验:自定义校验器 95 4.3 项目实战:为用户注册和登录系统添加客户端校验功能 96 4.4 项目实战:为用户注册系统增加服务端校验 98 4.4.1 复制客户端的校验 98 4.4.2 定义校验未通过的错误信息格式 98 4.4.3 编写删除回车换行符的JSP标签 99 4.5 项目实战:为用户登录系统增加保存登录状态的功能 100 4.5.1 在用户登录页面添加选择登录状态的ComboBox 101 4.5.2 保存用户登录状态 101 4.5.3 动态生成显示登录页面的JavaScript脚本 102 4.6 本章小结 103 第5章 开心桌面:完全模拟Windows桌面的开心网 104 5.1 模拟Windows XP桌面效果的开心网 104 5.2 似曾相识:模拟Windows桌面 104 5.2.1 Ext JS自带的模拟桌面的例子 105 5.2.2 工欲善其事,必先利其器:Ext JS的桌面组件 106 5.2.3 项目实战:实现类似Windows桌面的开心网 110 5.3 项目实战:将图标摆放在桌面上 111 5.3.1 编写描述动态图标的Java类 111 5.3.2 写入默认的桌面图标设置信息 112 5.3.3 动态生成图标HTML代码 115 5.3.4 已登录用户的桌面图标 118 5.3.5 Ext JS中的拖动技术 121 5.4 项目实战:控制面板 123 5.4.1 锁定与解锁图标 123 5.4.2 重新排列桌面图标 125 5.4.3 保存桌面图标状态 125 5.5 项目实战:控制桌面图标 127 5.6 本章小结 130 第二篇 资源与共享 第6章 电子相册:留住美好瞬间 132 6.1 将美丽留在人间:电子相册的完美展现 132 6.2 抽象的艺术:Struts 2的文件上传 133 6.2.1 重要的文件上传组件:Commons-FileUpload 133 6.2.2 实例:使用Commons-FileUpload组件上传多个文件 133 6.2.3 抽象和统一:文件上传的Struts 2沙盒(SandBox) 136 6.2.4 实例:使用Struts 2上传多个文件 137 6.3 绚丽多彩的Ext JS文件上传组件 140 6.3.1 简洁的文件上传组件 140 6.3.2 实例:使用FileUploadField组件上传多个文件 140 6.3.3 实例:更完美的文件上传组件 143 6.4 项目实战:电子相册中的图像上传功能 145 6.4.1 处理相册的数据访问层组件 145 6.4.2 用于创建相册的业务逻辑层组件 147 6.4.3 保存上传图像记录的数据访问层组件 148 6.4.4 处理上传图像数据的业务逻辑层组件 151 6.4.5 添加相册的Action类 152 6.4.6 获得指定用户的所有相册的Action类 153 6.4.7 处理上传图像的Action类 154 6.4.8 电子相册在开心桌面上的图标和菜单 157 6.4.9 使用Ext JS技术实现图像上传页面 159 6.5 项目实战:电子相册的照片浏览功能 162 6.5.1 获得相册中照片列表的Action类 162 6.5.2 传输照片数据的Action类 164 6.5.3 用于删除指定照片的Action类 165 6.5.4 我的照片我做主:照片列表 166 6.6 本章小结 171 第7章 好友管理:让我们成为朋友吧 172 7.1 信息共享的第一步:成为朋友 172 7.2 数据的二维表示法:表格组件 172 7.2.1 创建第一个表格 173 7.2.2 阻止移动列和改变列的宽度 175 7.2.3 自定义Grid的列宽度 176 7.2.4 按列进行排序 177 7.2.5 在单元格中显示彩色的文字、图、按钮及其他组件 177 7.2.6 显示复选框 180 7.2.7 自动显示行号 181 7.3 表格分页 182 7.3.1 为表格组件添加分页工具栏 183 7.3.2 从服务端获得分页数据 184 7.3.3 将分页工具栏显示在网格组件的顶部 186 7.3.4 滑动风格的分页工具栏 187 7.3.5 带进度条的分页工具栏 189 7.4 可编辑的表格 190 7.4.1 第一个可编辑的表格 190 7.4.2 向表格添加新行 191 7.4.3 保存数据 193 7.5 属性表格组件:PropertyGrid 194 7.5.1 第一个属性表格组件 194 7.5.2 不对属性列排序 195 7.5.3 自定义编辑器 196 7.6 表格分组 197 7.6.1 对记录进行分组 197 7.6.2 使用代码控制分组的展开和折叠 198 7.7 项目实战:编写服务端代码 200 7.7.1 设计数据表 200 7.7.2 表示好友的实体Bean 200 7.7.3 数据访问层:添加、删除和获得好友 201 7.7.4 业务逻辑层:添加、删除和获得好友 202 7.7.5 数据访问层和业务访问层组件:获得好友的照片 204 7.7.6 添加好友的Action类 204 7.7.7 删除好友的Action类 206 7.7.8 获得好友E-mail的Action类 207 7.7.9 获得好友照片的Action类 208 7.8 项目实战:编写客户端代码 209 7.8.1 添加桌面图标和开心菜单项 209 7.8.2 创建好友列表窗口 210 7.8.3 添加好友 212 7.8.4 删除好友 213 7.8.5 显示好友的照片 213 7.9 本章小结 215 第8章 日记管理:记录每天发生的点点滴滴 216 8.1 每天都会有新鲜事发生:写日记吧! 216 8.2 Ext JS中的窗口 216 8.2.1 建立第一个窗口 217 8.2.2 为窗口增加最大化和最小化按钮 219 8.2.3 隐藏和销毁窗口 221 8.2.4 阻止窗口移出边界 222 8.2.5 向窗口添加按钮 223 8.2.6 窗口分组 224 8.2.7 窗口布局 225 8.3 布局 227 8.3.1 从最简单的布局开始:FitLayout 228 8.3.2 边框布局:BorderLayout 231 8.3.3 拖动和限制BorderLayout布局的区域 233 8.3.4 折叠和展开子区域 234 8.3.5 伸缩菜单布局:Accordion 237 8.3.6 操作向导布局:CardLayout 238 8.3.7 操作位置和大小比例的布局:AnchorLayout 241 8.3.8 用于绝对定位的布局:AbsoluteLayout 243 8.3.9 表单布局:FormLayout 244 8.3.10 列布局:ColumnLayout 245 8.3.11 表格布局:TableLayout 247 8.4 项目实战:编写服务端代码 248 8.4.1 设计数据库 249 8.4.2 表示每一篇日记的实体Bean 249 8.4.3 数据访问层组件 250 8.4.4 业务逻辑层组件 253 8.4.5 添加日记的AddDiaryAction类 256 8.4.6 删除日记的DeleteDiaryAction类 258 8.4.7 修改日记的EditDiaryAction类 258 8.4.8 获得日记内容的GetDiaryAction类 259 8.4.9 获得日记列表的GetDiariesAction类 260 8.5 项目实战:编写客户端代码 262 8.5.1 添加桌面图标和开心菜单项 262 8.5.2 创建日记主页面 263 8.5.3 获得当前用户的日记列表 264 8.5.4 添加增加日记的动作 267 8.5.5 编辑和删除日记 269 8.5.6 查看好友的日记 270 8.6 本章小结 271 第9章 网络硬盘:重要资料的保险柜 272 9.1 不怕一万,就怕万一:备份重要文件 272 9.2 TreePanel组件的基本应用 272 9.2.1 创建一棵简单的树 272 9.2.2 为树添加子结点 274 9.2.3 读取服务端的JSON数据 275 9.2.4 读取本地的JSON数据 277 9.2.5 从Servlet中获得JSON数据 279 9.2.6 树的事件 281 9.2.7 右键菜单 283 9.2.8 修改结点的默认图标 284 9.2.9 用对话框显示结点文本 285 9.2.10 在结点上显示提示信息 286 9.2.11 将结点设置成超链接 287 9.2.12 修改树结点的名称 288 9.3 拖放树结点 289 9.3.1 结点拖放的位置 289 9.3.2 使叶子结点可以追加 291 9.3.3 在树之间拖放结点 292 9.4 过滤树中的结点 293 9.5 对树结点进行排序 294 9.6 工具栏和菜单 295 9.6.1 简单菜单 295 9.6.2 添加下拉菜单 296 9.6.3 多级菜单 298 9.6.4 向菜单中添加分隔线 299 9.7 高级菜单 301 9.7.1 多选和单选菜单 301 9.7.2 日期和颜色菜单 303 9.7.3 多级的右键菜单 304 9.8 工具栏组件 306 9.8.1 Ext.Toolbar.Button组件 306 9.8.2 Ext.Toolbar.TextMenu组件 307 9.8.3 Ext.Toolbar.Spacer组件 307 9.8.4 Ext.Toolbar.Separator组件 307 9.8.5 Ext.Toolbar.Fill组件 308 9.8.6 Ext.Toolbar.SplitButton组件 309 9.8.7 在工具栏上添加HTML标签 310 9.8.8 在工具栏上添加输入组件 311 9.9 项目实战:编写网络硬盘服务端程序 312 9.9.1 设计数据库 312 9.9.2 表示目录的实体Bean 313 9.9.3 表示文件的实体Bean 313 9.9.4 数据访问层组件:DirDAO 314 9.9.5 数据访问层组件:FileDAO 316 9.9.6 业务逻辑层组件:DirService 317 9.9.7 业务逻辑层组件:FileService 319 9.9.8 创建目录的CreateDirAction类 321 9.9.9 删除目录的DeleteNetDiskDirAction类 322 9.9.10 获得子目录的GetSubDirsAction类 323 9.9.11 获得目录中文件列表的GetNetDiskFilesAction类 325 9.9.12 上传网络硬盘文件的NetDiskUploadFilesAction类 326 9.9.13 下载指定文件的GetNetDiskFileAction类 328 9.10 项目实战:编写网络硬盘客户端代码 330 9.10.1 添加桌面图标和开心菜单项 330 9.10.2 创建网络硬盘主页面 332 9.10.3 创建显示目录和文件的树形组件 333 9.10.4 向网络硬盘主页面添加菜单 333 9.10.5 向网络硬盘主页面添加按钮 334 9.10.6 创建文件夹 335 9.10.7 上传文件 338 9.10.8 删除目录和文件 340 9.11 本章小结 340 第三篇 开心时刻 第10章 动他一下:向朋友打招呼 342 10.1 与朋友建立交往的第一步:动他一下 342 10.2 Ext JS中的拖放技术 343 10.2.1 什么是拖放技术 343 10.2.2 拖放的基本应用 343 10.2.3 拖动到指定的区域 344 10.2.4 拖放事件 346 10.2.5 Ext.dd.DD 347 10.2.6 增加拖动把手(Handle) 347 10.2.7 将拖动块置顶 349 10.2.8 拖放代理(Proxy) 350 10.2.9 设置拖动步长 351 10.2.10 拖动到指定的区域 352 10.2.11 限制拖动的区域 353 10.3 项目实战:编写“动他一下”服务端代码 355 10.3.1 设计数据库 355 10.3.2 表示“动作”的实体Bean 355 10.3.3 数据访问层组件:TouchDAO 356 10.3.4 业务逻辑层组件:TouchService 357 10.3.5 保存“动作”信息的TouchAction类 358 10.3.6 获得“动作”信息的GetMessageAction类 360 10.4 项目实战:编写“动他一下”客户端代码 362 10.4.1 添加桌面图标和开心菜单项 362 10.4.2 显示“动他一下”页面 364 10.4.3 显示“动他一下”图标和选择好友输入组件 365 10.4.4 选择好友 368 10.4.5 登录或刷新时显示接收到的“动作” 369 10.5 本章小结 371 第11章 赠送礼物:进一步增进朋友间的感情 372 11.1 最省钱的送礼方式:电子礼物 372 11.2 Ext JS中的数据操作组件 372 11.2.1 异步通信:Ext.data.Connection 373 11.2.2 客户端的记录:Ext.data.Record 375 11.2.3 客户端的二维表:Ext.data.Store 376 11.2.4 对Store对象中的数据进行排序 377 11.2.5 从Store对象中获得数据 377 11.2.6 更新Store对象中的数据 379 11.2.7 装载数据 380 11.3 常用代理(Proxy) 381 11.3.1 MemoryProxy 381 11.3.2 HttpProxy 381 11.3.3 ScriptTagProxy 382 11.4 常用Reader 382 11.4.1 ArrayReader 382 11.4.2 JsonReader 383 11.4.3 XmlReader对象 384 11.5 项目实战:编写“赠送礼物”服务端代码 385 11.5.1 数据库设计 385 11.5.2 表示礼物的实体Bean 385 11.5.3 数据访问层组件:GiftDAO 386 11.5.4 业务逻辑层组件:GiftService 389 11.5.5 获得动作信息的GetMessageAction类 390 11.5.6 获得当前用户所有礼物信息的GetGiftsAction类 390 11.5.7 送礼物的SendGiftAction类 392 11.6 项目实战:编写“赠送礼物”的客户端代码 393 11.6.1 添加桌面图标和开心菜单项 393 11.6.2 显示赠送礼物页面 396 11.6.3 显示礼物图像和好友、附言输入组件 397 11.6.4 选择好友 399 11.6.5 查看当前用户收到的所有礼物 400 11.7 本章小结 402 第12章 Ext JS中的常用技术 403 12.1 Ext JS中的常用方法 403 12.1.1 onReady方法 403 12.1.2 get方法 404 12.1.3 getCmp方法 405 12.1.4 getDom方法 405 12.1.5 getBody方法 406 12.1.6 encode方法和decode方法 406 12.1.7 apply方法和applyIf方法 407 12.1.8 Ext.each方法 408 12.2 动态生成HTML 408 12.2.1 使用DomHelper生成代码片段 408 12.2.2 使用模板(Template) 411 12.2.3 使用更复杂的模板(XTemplate) 414 12.3 本章小结 415 第四篇 手机上的开心网 第13章 Android基础 418 13.1 Android的基本概念 418 13.1.1 Android简介 418 13.1.2 Android的系统构架 419 13.2 Android开发环境的搭建 420 13.2.1 安装Android SDK 420 13.2.2 安装ADT插件 421 13.2.3 建立和运行Android工程 422 13.3 在真实环境中测试Android程序 423 13.3.1 通过USB数据线进行联机测试 424 13.3.2 Android LiveCD 426 13.3.3 Android X86 427 13.4 编写一个移动浏览器程序 427 13.5 本章小结 429 第14章 登录移动开心网 430 14.1 Web Service 430 14.1.1 下载和安装Axis 2 430 14.1.2 用POJO实现零配置的Web Service 431 14.1.3 使用services.xml文件发布Web Service 433 14.2 在Android中访问Web Service 436 14.2.1 下载和安装KSOAP2 436 14.2.2 使用KSOAP2调用Web Service的步骤 436 14.2.3 使用KSOAP2调用零配置的Web Service 437 14.3 实现移动开心网的登录功能 439 14.3.1 编写打开数据库的Database类 440 14.3.2 编写为登录服务的LoginService类 440 14.3.3 配置LoginService类 442 14.3.4 设计登录界面 442 14.3.5 将SoapObject转换成User对象 444 14.3.6 编写登录界面的主类:Login 445 14.4 本章小结 447 第15章 移动电子相册:捕捉精彩瞬间 448 15.1 先睹为快:移动电子相册 448 15.2 移动电子相册中使用的组件 449 15.2.1 Button组件 449 15.2.2 TextView组件 449 15.2.3 EditText组件 451 15.2.4 ImageView组件 451 15.2.5 Spinner组件 452 15.2.6 使用Gallery组件循环显示图像 454 15.2.7 TabHost组件 455 15.3 访问网络 457 15.3.1 HttpGet类和HttpPost类 457 15.3.2 HttpURLConnection类 458 15.4 项目实战:浏览照片 459 15.4.1 编写CommonServlet类 460 15.4.2 获取当前用户的所有相册 462 15.4.3 设置移动电子相册的主界面 464 15.4.4 在客户端显示相册列表 464 15.4.5 获取指定相册的照片路径 467 15.4.6 获取指定的照片数据 468 15.4.7 在客户端分页显示照片缩略图 469 15.4.8 显示照片大图 471 15.5 项目实战:建立相册 472 15.5.1 编写建立相册的服务 472 15.5.2 在客户端提交相册信息 473 15.6 项目实战:上传图像 474 15.6.1 服务端接收客户端上传的图像 475 15.6.2 拍摄照片 477 15.6.3 从本地选择图像 478 15.6.4 向服务端上传图像 479 15.7 本章小结 480 第16章 移动日记:随时随地记录生活点滴 481 16.1 先睹为快:移动日记 481 16.2 移动日记中使用的组件 481 16.2.1 ListView组件 482 16.2.2 菜单组件 483 16.2.3 WebView组件 484 16.3 项目实战:写日记 485 16.3.1 编写提交日记内容的服务 485 16.3.2 编写“写日记”功能的Android客户端 487 16.4 项目实战:浏览日记列表和日记内容 489 16.4.1 从服务端获取日记标题列表 489 16.4.2 从服务端获取日记内容 491 16.4.3 在手机客户端显示日记标题列表 492 16.4.4 利用WebView组件浏览日记内容 493 16.5 本章小结 494 第17章 会移动的礼物 495 17.1 先睹为快:随时随地赠送好友礼物 495 17.2 GridView组件 495 17.3 项目实战:赠送礼物 496 17.3.1 获取好友列表 496 17.3.2 在Android客户端显示好友列表 497 17.3.3 编写“赠送礼物”服务 499 17.3.4 向好友赠送礼物 500 17.3.5 编写“赠送礼物”的主界面 501 17.4 项目实战:显示当前用户获得的礼物 503 17.4.1 编写获得好友赠送的礼物的服务 503 17.4.2 在Android客户端显示好友赠送的礼物 505 17.5 本章小结 505 第18章 无处不在的问候 506 18.1 先睹为快:随时随地与好友打招呼 506 18.2 ListActivity类 506 18.3 项目实战:与好友打招呼 508 18.3.1 显示好友列表 508 18.3.2 编写打招呼服务 509 18.3.3 编写打招呼的客户端 510 18.4 本章小结 513 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。