Android 直接連MySQL資料庫
2015/04/20 來源:CSDN博客
在Android平台下,連接電腦伺服器的MySQL、PostgreSQL、Oracle、Sybase、Microsoft SQLServer等資料庫管理系統DBMS(databasemanagement system),主要有以下兩種方法:
在Android工程中引入JDBC驅動,直接連接。(本文主要介紹此種方法)
方法2、間接連接
在伺服器上用PHP+DBMS做伺服器端,PHP將DBMS中的數據用json或者xml進行封裝。然後再發封裝好的數據返回給Android平台。
注意:
採用JDBC方法主要問題是安全性不高,而且一旦要訪問的數據量過多,容易出問題。另外,Android系統本身有對json或者xml直接解析的api,所以建議採用第二種方法,實用性與安全性都提高了。
JDBC是Java Data Base Connectivity的縮寫,意思為「java資料庫連接」,由一組用Java語言編寫的類和接口組成,為java層直接操作關係型資料庫提供了標準的API。原理很簡單,主要是先伺服器DBMS發送SQL(結構化查詢語言)指令。實現各種資料庫的操作。
在Android工程使用JDBC連接資料庫的主要步驟如下:
加載JDBC驅動程序------->建立連接--------->發送SQL語句。
3.1加載JDBC外部jar包在Android工程中要使用JDBC的話,要導入JDBC的外部jar包,因為在java的JDK中並沒有JDBC的API。
我用的jar包是mysql-connector-java-5.0.8-bin.jar,這是由MySQL官方提供的jar包。
查到的jar包導入方式都是:在eclipse選擇工程,右鍵---->Properties---->在左側選項「Java Build Path」---->切換到「Libraries」---->選擇「Add External JARs」---->找到mysql-connector-java-5.0.8-bin.jar,導入---->完畢。
但是經過實踐之後,總是報java.lang.NullPointerException錯誤。
在網上找資料後,找到解決辦法:
ADT 18在編譯外部jar包的方式發生改變了,build path的方式無效了,正確的做法應該是:
在項目上點右鍵 ->新建一個文件夾libs(如果項目中存在,則不需要再新建)->複製jar包到libs文件夾。
3.2建立資料庫連接
Android與不同的資料庫連接方式是不一樣的,主要有一下幾種:
Android直接連數據需要注意的地方:
1、用正確的方式導入正確的jar包。
2、連接資料庫是比較耗時的操作,需要開啟新線程處理(網上說ADT16之前,不需要開啟新線程處理,沒有試過)。
3、確保資料庫的IP位址是可以ping通的。
4、(有網友遇到過,並浪費了很多時間,我沒有遇到)資料庫所在的伺服器是否開了防火牆,阻止了訪問。
5、調試要有耐心,如果代碼確實看不出問題,可以嘗試Clean項目,重新編譯連接,我就碰到了這個問題,代碼沒有問題,但就是報錯,Clean後再編譯連接,就沒有問題了,沒有找到原因。
2018年5月9日 星期三
Regular Expression 正則表示式做字串比對
Regular Expression 中文翻成正則表示式 英文簡寫為 Regex 或 RegExp RegExp 是用來比對字串是不是有符合正確的格式 語法很簡單而且大部分語言都有支援它 使用時機 譬如說你需要在程式內請使用者輸入生日 你規定的格式 1996-08...
-
【Eclipse】中文亂碼解決方法:環境編碼設定改 UTF-8 有時候打開一些別人的專案,或是以前所寫的程式,會發現怎麼中文都變成亂碼,不僅無法辨識,也無法編譯,Eclipse 的程式檔的圖示上,會有一個紅色的小叉叉。 這是由於檔案的編碼和開發工具的環境編碼不一致...
-
1. 新增帳號 : CREATE USER 使用者名稱 IDENTIFIED BY 密碼; 2. 權限設定 : GRANT 權限 ON 資料庫物件 TO 使用者名稱; GRANT 角色 TO ...
-
Android 直接連MySQL資料庫 2015/04/20 來源:CSDN博客 在Android平台下,連接電腦伺服器的MySQL、PostgreSQL、Oracle、Sybase、Microsoft SQLServer等資料庫管理系統DBMS(databasemanage...