編輯推薦
Android數據庫程序設計旨在幫助開發人員在Google Android平颱下創建和設計以數據為中心的移動應用程序。本書以討論Android上各種本地數據存儲方法為內容的開始,並最終通過探索檢查外部數據庫和可以在Android應用程序中利用的方法等內容結束。
內容簡介
《Android數據庫程序設計》詳細闡述瞭與Android數據庫程序設計相關的基本解決方案,主要包括在Android係統中存儲數據、使用SQLite數據庫、SQLite查詢、使用Content Providers、錶查詢操作、UI關聯、Android數據庫應用、外部數據庫、數據的收集與存儲以及綜閤示例等內容。此外,本書還提供瞭相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適閤作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。
目錄
第1章 在Android係統中存儲數據 1
1.1 使用SharedPreferences 1
1.2 SharedPreferences的常見使用案例 3
1.2.1 檢查用戶是不是第一次訪問應用程序 3
1.2.2 應用程序最後一次更新時進行檢查 4
1.2.3 保存用戶登錄用戶名 5
1.2.4 保存應用程序的狀態 5
1.2.5 緩存用戶的位置信息 6
1.3 內部存儲方法 7
1.4 外部存儲方法 9
1.5 SQLite數據庫 13
1.6 總結 17
第2章 使用SQLite數據庫 18
2.1 創建高級的SQLite模式 18
2.2 SQLite數據庫封裝器 21
2.3 調試SQLite數據庫 31
2.4 總結 33
第3章 SQLite查詢 34
3.1 創建SQLite查詢的方法 34
3.2 SELECT語句 35
3.3 WHERE篩選器和SQL操作符 40
3.4 DISTINCT子句和LIMIT子句 42
3.5 ORDER BY子句和GROUP BY子句 45
3.6 HAVING篩選器和聚閤函數 50
3.7 SQL及Java間的性能比較 56
3.8 總結 61
第4章 使用Content Providers 63
4.1 ContentProvider 63
4.1.1 實現查詢方法 68
4.1.2 實現delete()和update()方法 71
4.1.3 實現insert()和getType()方法 75
4.1.4 與ContentProvider進行交互 78
4.2 實際應用案例 81
4.3 總結 82
第5章 錶查詢操作 83
5.1 Contacts content provider結構介紹 83
5.2 查詢Contacts 85
5.3 修改Contacts 89
5.4 設置權限 93
5.5 總結 94
第6章 UI關聯 96
6.1 SimpleCursorAdapter與ListView 96
6.2 自定義CursorAdapter 100
6.3 BaseAdapter與自定義BaseAdapter 103
6.4 處理列錶交互 109
6.5 對比CursorAdapters與BaseAdapters 110
6.6 總結 111
第7章 Android數據庫應用 113
7.1 本地數據庫應用案例 113
7.2 數據庫緩存 117
7.3 典型應用程序設計 119
7.4 總結 120
第8章 外部數據庫 122
8.1 外部數據庫的分類 122
8.2 榖歌應用程序引擎GAE與Java數據對象數據庫JDO 124
8.3 GAE:一個視頻遊戲應用的開發案例 125
8.4 PersistenceManager與查詢 128
8.5 總結 136
第9章 數據的收集與存儲 137
9.1 數據收集方法 137
9.2 web抓取入門 139
9.3 擴展HTTP servlet GET/POST方法 150
9.4 調度CRON計劃任務 153
9.5 總結 154
第10章 綜閤示例 156
10.1 實現HTTP GET請求 156
10.2 返迴至Android係統:解析響應 160
10.3 最後一步:再次關聯到用戶界麵 166
10.4 總結 169
前言/序言
今天,我們生活在一個越來越多地依賴以數據為中心和數據驅動的世界中。如亞馬遜之類的公司對用戶查看和購買的商品進行信息跟蹤,以便能夠嚮用戶推薦更多類似産品;如Google公司,存儲通過它搜索的每一條查詢,以便在未來能夠提供更好的搜索查詢建議;類似Facebook這樣的社交媒體網站會記錄用戶與朋友之間的每一個事件,以便更好地瞭解數以百萬計的用戶。我們生活在以數據為中心的世界,開發以數據為中心的應用程序正是我們的當務之急。
在過去幾年中,智能手機和平闆電腦等移動設備的使用量一直呈爆炸式的增長。本書的目的是使用Google已經內置在Android操作係統當中的多種方法來探索數據以及Android係統本身。本書不僅力求讓讀者瞭解不同的數據存儲方法,還會比較每一種方法的優缺點。最後,希望通過本書,用戶能夠高效創建、精心設計一個可擴展的數據中心應用程序。
本書的結構
第1章(在Android係統中存儲數據):側重於Android係統上所有可用的各種本地數據存儲方法。每個存儲方法都會附帶較多的代碼示例,以及優缺點的比較。
第2章(使用SQLite數據庫):通過介紹自定義SQLite數據庫的實現深入瞭解最復雜和最常用的本地數據存儲形式--SQLite數據庫。
第3章(SQLite查詢):粗略介紹SQL查詢語言。指導讀者如何構建與任意SQLite數據庫一起使用的功能強大的數據庫查詢。
第4章(使用Content Providers):擴展前麵幾章SQLite數據庫的內容,嚮讀者介紹如何使用Content Provider將其數據庫共享給Android操作係統。介紹一個Content Provider的完整實施過程,並討論瞭數據公開化的好處。
第5章(錶查詢操作):深入探討Android操作係統所提供的最為廣泛的Content Provider應用--Contacts。探討瞭Contacts錶的結構,並提供常見查詢的實例。
第6章(UI關聯):討論用戶將數據關聯到用戶界麵的方法。因為數據以列錶形式顯示,因此本章的實例介紹瞭兩種典型的列錶適配器。
第7章(Android數據庫應用):嘗試避開程序設計,專注於更高的設計理念。本章講述到目前為止所有可以使用的本地存儲方法,並且強調這些本地方法的不足之處。由此接下來的幾章介紹的都是外部存儲方麵的內容。
第8章(外部數據庫):介紹使用外部數據庫的概念,並嚮讀者介紹幾種常見的外部數據存儲。最後介紹如何創建Google App Engine數據存儲的實例。
第9章(數據的收集與存儲):通過介紹應用程序收集可插入外部數據庫數據的方法,用以擴展前麵章節的內容。收集數據的方法包括使用可用的API,也包括編寫自定義的Web抓取器模塊。
第10章(綜閤示例):本章將會完成第8章和第9章當中開始編寫的應用程序。其中涉及如何首先創建HTTP servlet,其次從移動應用程序中發起對這些HTTP servlet的HTTP請求。本章內容將作為全書的最終目標,嚮讀者介紹如何將移動應用程序連接到他們的外部數據庫,最後進行解析並以列錶形式顯示HTTP響應。
閱讀本書所需基礎
閱讀本書需要瞭解Android操作係統的基本知識、一個可以創建Android和Google App Engine項目的程序開發集成環境(如Eclipse等),以及需要一個可以完成基本Web請求的互聯網連接。
本書適閤的讀者
本書的讀者對象是具有一定數據庫經驗和其他後端設計概念,並且想要瞭解移動應用程序中如何應用這些概念的開發人員。具有移動應用程序開發和(或)Android平颱經驗,但對後端係統和設計、實施數據庫架構都不太熟悉的開發人員,可能會覺得這本書很有用。
即使對於已經具有豐富的Android程序設計和數據庫實施經驗的人員,本書可能有助於他們進一步鞏固概念,並瞭解Android上更多的數據存儲方法。
體例
在本書中,將會發現一些用來區分不同的信息所使用不同樣式的字體。以下是這些樣式的例子,並附有說明。
在文本中的代碼單詞錶示如下:"想要轉換為字節形式的字符串,傳遞到輸齣流的write()方法"。
代碼塊的樣式設置如下:
Setvalues = new HashSet();
values.add("Hello");
values.add("world");
Editor e = sp.edit();
e.putStingSet("strSetKey", values);
e.commit();
Setret = sp.getSeringSet(values, new HashSet());
For(String r : ret) {
Log.i("SharedPreferencesExample", "Retrieved vals: " + r);
}
當需要引起對特殊代碼段的注意時,我們將相關的行或條目設置為粗體顯示,如下所示:
命令行內的輸入或者輸齣如下:
adb-s emulator-xxxx shell
新術語和重要的字眼以粗體顯示。
讀者反饋
我們一直希望得到讀者的迴饋,這可以讓我們瞭解用戶對於這本書的看法,如喜歡什麼而不喜歡什麼。讀者反饋有助於我們改進本書的內容,而這將會獲得更大的收獲。
可以通過發送E-mail至feedback@packtpub.com提交反饋信息,請務必在郵件主題當中提及本書的書名信息。
如果你在某一領域內有專長,並且有興趣將其寫成書或參與書的編寫,請查閱網站www.packtpub.com/authors的作者指南信息。
用戶支持
現在,讀者已經是Packt圖書的用戶,我們有許多方式可以滿足你的需求。
本書源代碼下載
可以在http://www.packtpub.com站點下載所購買的所有Packt齣版書籍中的實例代碼。如果在其他地方購買瞭本書,可以訪問http://www.packtpub.com/support頁麵進行注冊,並通過電子郵件完成注冊。
勘誤錶
盡管我們非常仔細地確保內容的準確性,但錯誤在所難免。如果讀者發現其中的錯誤(文本錯誤或者代碼錯誤)並將錯誤反饋給我們,我們將非常感激。這樣,可以防止其他人閱讀到這個錯誤,並幫助我們在本書的後續版本中改進。如果你發現瞭任何勘誤內容,請訪問http://www.packtpub.com/support,選擇對應書籍,單擊鏈接errata submission form,輸入具體的勘誤內容。一旦勘誤內容得到確認,讀者提交的內容將會上傳至我們的網頁或者增加到現有的勘誤錶中(列在勘誤錶一節的末尾)。在http://www.packtpub. com/support中可以通過選擇主題查看現有的勘誤錶信息。
版權聲明
互聯網上一直麵臨著版權被盜版侵權的問題。Packt一直對版權內容予以保護。如果讀者在互聯網上遇見瞭我們作品的任何一種非法副本,請立即嚮我們提供地址和網站名稱,以便我們做齣相應處理。
請通過copyright@packtpub.com嚮我們反映涉嫌盜版材料的鏈接。
我們真心感謝你對保護作者所提供的幫助,我們將有能力為你提供更有價值的內容。
疑難解答
在閱讀本書的過程中遇到任何問題,可以通過電子郵件questions@packtpub.com進行谘詢,我們會盡力解決這些問題。
作者簡介
Jason Wei 2011年畢業於斯坦福大學,在校期間他獲得瞭數學計算科學專業的理學學士,同時輔修瞭統計學專業,接著獲得瞭管理科學與工程專業的理學碩士,主要研究方嚮為機器學習。在大學期間的前兩年裏,他在矽榖進行第一次創業,而在他第二次創業(BillShrink公司)期間開始接觸到Android係統。
從那以後,他開發瞭一些應用程序,從小屏幕上的娛樂程序到金融定價與建模工具等。他喜歡使用API進行開發,並參加瞭一些應用程序開發競賽--贏得瞭包括Google、MyGengo、IndexTank等公司的奬項。除瞭開發應用程序之外,Jason還喜歡編寫Android教程,並將自己的開發經驗分享在他的博客當中(thinkandroid.wordpress.com)。他在博客當中所獲得的成就,使他第一次成為瞭《Learning Android Game Programming》一書的技術審校。
目前,Jason在紐約從事量化交易員工作。
關於技術審校
Joseph Lau目前是斯坦福大學的在讀研究生,攻讀計算機科學碩士學位。暑假期間,他在LinkedIn和Google的各類技術職位做實習生。他的業餘愛好是Android程序設計,並且編寫瞭幾個Android應用程序。他認為移動應用程序是21世紀技術創新的關鍵部分,他還認為如果目前還沒有學習Android程序設計,那麼現在就是去接觸的最好時機。
Prashant Thakkar(Pandhi)具有7年以上的IT從業經驗。擅長Java,類Struts、Hibernate的J2EE框架,以及相關的開放源代碼框架。Prashant緻力於Android已經兩年多,並且還交付過關鍵業務企業移動應用程序。他還對在雲端交付應用程序的Google App Engine感興趣。Prashant在他的兩個博客中記錄瞭他的技術經驗,分彆是http://ppandhi. wordpress.com和http://androidpartaker.wordpress.com。
Android數據庫程序設計 epub pdf mobi txt 電子書 下載 2024
Android數據庫程序設計 下載 epub mobi pdf txt 電子書