基于HttpClient的Android遠程數(shù)據庫訪問
1.引言
雖然Android本身具有SQLite的支持,但SQLite數(shù)據只能進行簡單的CRUD操作,數(shù)據類型也不能太復雜和數(shù)據容量不能太大。而訪問遠程數(shù)據庫的方法多種多樣,主要分為直接和間接兩種。直接訪問采用JDBC連接技術,但其安全性較低,間接方法主要通過客戶端向服務器發(fā)送請求,進而采用數(shù)據傳輸?shù)姆绞竭M行數(shù)據庫訪問。
當下比較流行的數(shù)據傳輸方式主要有XML和JSON兩種方式,由于HTTP協(xié)議是從WWW服務器傳輸超文本到本地瀏覽器的傳送協(xié)議,使瀏覽器更加高效,而HttpClient是支持HTTP協(xié)議的客戶端編程工具包,因此HttpClient組件為實現(xiàn)遠程數(shù)據庫的連接提供了更為便捷有效的方式。
2.HttpClient簡介
HttpClient是Apache Jakarta Common下的子項目,可以用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包。它提供的主要的功能包括:實現(xiàn)了所有HTTP的方法(GET,POST,PUT,HEAD等)、支持自動轉向、支持HTTPS協(xié)議、支持代理服務器等。
3.HttpClient在Android中的應用
3.1 工作原理
(1)客戶端通過URL向服務器發(fā)送請求,建立連接;
(2)服務器接收客戶端請求,并將響應信息返回客戶端;
(3)客戶端與服務器斷開連接。
3.2 服務器端的開發(fā)
服務器端采用JSP技術,通過利用JavaBean使用JDBC完成數(shù)據庫連接,同時,使用Servlet實現(xiàn)數(shù)據傳輸功能。
3.3 手機客戶端的開發(fā)
Android集成了org.apache.http.client.HttpClient,可以直接實現(xiàn)簡單的htttp Get和Post操作。操作實現(xiàn)步驟如下:
(1)創(chuàng)建HttpClient客戶端對象;
(2)生成響應的請求信息;
(3)使用execute方法發(fā)送HTTP GET(HTTP POST)請求,并返回HttpResponse對象,通過利用getStatusCode獲取返回碼以判斷請求是否發(fā)送成功(若返回碼為200,則成功);
(4)解析返回信息。
關鍵代碼如下:
4.結語
本文在利用JavaBean工具類對數(shù)據庫進行操作的基礎上,通過使用Servlet進行數(shù)據的輸入輸出,并結合HttpClient組件傳送Http數(shù)據,順利實現(xiàn)了Android與遠程數(shù)據庫的間接訪問,同時也在一定程度上加強了對數(shù)據庫的安全性保護。未來HttpClient組件技術還將在Android手機平臺中越來越廣泛地得以應用。