《人人都玩開心網》是2010年電子工業出版社出版的圖書,作者是李寧。
基本介紹
- 書名:人人都玩開心網
- 作者:李寧 編著
- ISBN:978-7-121-11167-9
- 頁數:536頁
- 定價:65.00元(含光碟1張)
- 出版時間:2010年7月
- 開本:16開
內容簡介,宣傳語,作者簡介,內 容 簡 介,前 言,目 錄,
內容簡介
本書的主旨為,以開心網為例實現Web版和Android版的SNS套用。本書分為四篇,前三篇主要實現了Web版的開心網系統。其中重點介紹了Ext JS技術,包括Ext JS的核心組件、對話框、表單組件、布局、數據校驗、表格、選單、樹組件等技術。本書的最後一篇實現了Android版的開心網,並介紹了與 Android版開心網相關的技術,包括Button、TextView、EditText、ImageView、GridView等Android組件。網際網路的發展,就是一個不斷上演奇蹟的過程。10年前就開始在Internet上流行的Web套用,在見證了一個個奇蹟之後,依然作為最主流的套用而雄霸網際網路。
宣傳語
全流程剖析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常用組件。
本書的特色與優勢
◎閱讀本書不要求讀者對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