連接數據庫是安卓開發中幾乎不可避免的一項工作,稍有規模的應用通常都需要使用數據庫來存儲用戶數據。對於本地數據庫當然可以使用sqlite,而對於多用戶線上應用,則一般需要配備雲端數據庫。其中比較常用且開源的就是Mysql,Mysql總的來說既小巧又方便。那么在這篇文章當中我們就介紹一下,如何在安卓開發中,連接到Mysql數據庫。
本文中假設Mysql環境已經配置好,首先需要下載connector/J的Jar包。可至Maven倉庫下載,下載地址為https://mvnrepository.com/artifact/mysql/mysql-connector-java;或直接在gradle中加入相應包
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.16'
下面我們來創建數據連接類DbUtil.java。
public class DbUtil {
public static String IP = "192.168.2.157"; //數據庫IP
@SuppressLint("NewApi")
public static Connection createConnection() {
String DB_NAME = "**"; //數據庫名
String DB_USERNAME = "**"; // 用戶名
String DB_PASSWORD = "**"; //密碼
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String connURL = "jdbc:mysql://" + IP + ":3306/" + DB_NAME + "?useUnicode=true&characterEncoding=utf8";
conn = DriverManager.getConnection(connURL, DB_USERNAME, DB_PASSWORD);
} catch (SQLException se) {
Log.e("ERRO", se.getMessage());
} catch (ClassNotFoundException e) {
Log.e("ERRO", e.getMessage());
} catch (Exception e) {
Log.e("ERRO", e.getMessage());
}
return conn;
}
}
總的來說,與Java應用連接數據庫類似,在需要連接數據庫的地方,直接通過DbUtil.createConnection()即可創建連接,當然不要忘記使用try...catch捕獲異常。
