基于HttpClient的Android遠程數據庫訪(fǎng)問(wèn)
雖然Android有SQLite的支持,但由于手機的硬件條件限制,很多數據庫并沒(méi)有直接運行在客戶(hù)端上,因此對遠程數據庫的訪(fǎng)問(wèn)也是Android的必要技術(shù)。本文主要運用HttpClient組件,完成對遠程數據庫的訪(fǎng)問(wèn),實(shí)現Android客戶(hù)端對遠程服務(wù)器數據的調用及修改。
本文引用地址:http://dyxdggzs.com/article/274424.htm1.引言
雖然Android本身具有SQLite的支持,但SQLite數據只能進(jìn)行簡(jiǎn)單的CRUD操作,數據類(lèi)型也不能太復雜和數據容量不能太大。而訪(fǎng)問(wèn)遠程數據庫的方法多種多樣,主要分為直接和間接兩種。直接訪(fǎng)問(wèn)采用JDBC連接技術(shù),但其安全性較低,間接方法主要通過(guò)客戶(hù)端向服務(wù)器發(fā)送請求,進(jìn)而采用數據傳輸的方式進(jìn)行數據庫訪(fǎng)問(wèn)。
當下比較流行的數據傳輸方式主要有XML和JSON兩種方式,由于HTTP協(xié)議是從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議,使瀏覽器更加高效,而HttpClient是支持HTTP協(xié)議的客戶(hù)端編程工具包,因此HttpClient組件為實(shí)現遠程數據庫的連接提供了更為便捷有效的方式。
2.HttpClient簡(jiǎn)介
HttpClient是Apache Jakarta Common下的子項目,可以用來(lái)提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶(hù)端編程工具包。它提供的主要的功能包括:實(shí)現了所有HTTP的方法(GET,POST,PUT,HEAD等)、支持自動(dòng)轉向、支持HTTPS協(xié)議、支持代理服務(wù)器等。
3.HttpClient在A(yíng)ndroid中的應用
3.1工作原理
(1)客戶(hù)端通過(guò)URL向服務(wù)器發(fā)送請求,建立連接;
(2)服務(wù)器接收客戶(hù)端請求,并將響應信息返回客戶(hù)端;
(3)客戶(hù)端與服務(wù)器斷開(kāi)連接。
3.2服務(wù)器端的開(kāi)發(fā)
服務(wù)器端采用JSP技術(shù),通過(guò)利用JavaBean使用JDBC完成數據庫連接,同時(shí),使用Servlet實(shí)現數據傳輸功能。
3.3手機客戶(hù)端的開(kāi)發(fā)
Android集成了org.apache.http.client.HttpClient,可以直接實(shí)現簡(jiǎn)單的htttp Get和Post操作。操作實(shí)現步驟如下:
(1)創(chuàng )建HttpClient客戶(hù)端對象;
(2)生成響應的請求信息;
(3)使用execute方法發(fā)送HTTP GET(HTTP POST)請求,并返回HttpResponse對象,通過(guò)利用getStatusCode獲取返回碼以判斷請求是否發(fā)送成功(若返回碼為200,則成功);
(4)解析返回信息。
關(guān)鍵代碼如下:


4.結語(yǔ)
本文在利用JavaBean工具類(lèi)對數據庫進(jìn)行操作的基礎上,通過(guò)使用Servlet進(jìn)行數據的輸入輸出,并結合HttpClient組件傳送Http數據,順利實(shí)現了Android與遠程數據庫的間接訪(fǎng)問(wèn),同時(shí)也在一定程度上加強了對數據庫的安全性保護。未來(lái)HttpClient組件技術(shù)還將在A(yíng)ndroid手機平臺中越來(lái)越廣泛地得以應用。
評論