編輯:Android開發教程
Android平台主要提供了四種數據存儲方式:Shared Preferences、文件存儲、Sqlite存儲和網絡存儲。其 中:
1)Shared Preferences 一個輕量級的鍵-值存儲機制,專門用於存儲鍵-值對數據,並且僅可以存儲基本 的數據類型(boolean、int、long、float和String);通常使用它來存儲應用程序的配置信息。
2)文件存儲 通過FileInputStream和FileOutputStream對文件進行操作,在Android中,文件是一個應用 程序私有的,一個應用程序無法讀寫其它應用程序的文件。
3)SQLite存儲 SQLite是一款輕型的數據庫,支持標准SQL。它的設計目標是嵌入式的,占用資源非常的低 ,在嵌入式設備中,只需要幾百K的內存就夠了。Android平台也為我們提供了SQLite數據庫。
4)網絡存儲 以上3種方式數據均存儲在手機上,而網絡存儲的數據是存儲在遠程服務器上,手機客戶端通 過聯接到網絡來存儲和獲取數據。
今天要講解的HttpClient正是常用的網絡存儲工具之一。記得最早接觸HttpClient是在兩年前,當時要做 一個垂直搜索引擎,數據自然是來源於互聯網,通過一個爬蟲系統不斷從指定網站上爬取感興趣的數據,然後 通過Lucene搜索引擎框架實現海量數據的快速檢索。而爬蟲系統最開始是想采用開源的爬蟲框架Heritrix來實 現,但接觸一段時間後發現Heritrix過於龐大,而且是作為一個獨立的系統運行,不方便嵌入到現有的系統中 ,再加上學習成本高,最後還是選擇了“HttpClient + HtmlParser”來實現的小型爬蟲系統;其中 HttpClient可以模擬HTTP的POST和GET請求,用於從指定網站獲取網頁數據,而HtmlParser用於解析爬取到的 頁面,過濾HTML標記,取得最終數據。
是不是發現HttpClient還挺強大的?讓我們看看它是什麼來頭。"HttpClient 是 Apache Jakarta Common 下的子項目,可以用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,並且 它支持 HTTP 協議最新的版本和建議"。如果你以前沒有接觸過HttpClient,那麼你只需要簡單記住兩點 就可以了:1)HttpClient是一個HTTP協議開發包;2)HttpClient不是Android的專利。
HttpClient的功能介紹:
1)實現了HTTP請求的所有方法(如GET、POST、PUT、HEAD 等);
2)支持自動轉向;
3)支持 HTTPS 協議;
4)支持代理服務器等
HttpClient的基本使用(以POST請求為例):
1)創建HttpClient實例(類似於浏覽器客戶端);
HttpClient client = new DefaultHttpClient();
2)創建HttpPost請求,需要向HttpPost的構造方法傳入所請求的URL;
HttpPost post = new HttpPost(requestUrl);
3)發出POST請求(調用HttpClient的execute()方法,execute()的參數為HttpPost實例);
HttpResponse response = client.execute(post);
4)讀取返回結果;
5)釋放連接;
上下文相關菜單(Context Menu)類同PC上按鼠標右鍵顯示的菜單,在Android平台上是長按來激活Context Menu,Context Menu一般用來顯示
在我的設備上面,默認的首選項名字是net.manoel.UsingPreferences_preferences.xml,這個名字是使 用包名作為前綴的。然而,給首選項定
bundle.putParcelable可以實現傳遞對象,但是這個對象的類必須實現Parcelable接口才能夠使用。下面是一個簡單的在Activity之間傳遞對象的例子
Android本質上是基於Linux內核的系統,也就是說Android就是一種Linux操作系統。只不過大多數時候都會運行在ARM架構的設備上,例如,Android手機、