2018年5月9日 星期三

Android 直接連MySQL資料庫

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後再編譯連接,就沒有問題了,沒有找到原因。

Regular Expression 正則表示式做字串比對

Regular Expression 中文翻成正則表示式 英文簡寫為 Regex 或 RegExp RegExp 是用來比對字串是不是有符合正確的格式 語法很簡單而且大部分語言都有支援它 使用時機 譬如說你需要在程式內請使用者輸入生日 你規定的格式 1996-08...