一、开发环境
Android开发工具:Android Studio。
数据库:SQLServer。
二、下载支持Android的SQL驱动。
备注:最新版即可,他们已经做了兼容了,我用的是最新版1.3.1版。
类库包下载地址:https://sourceforge.net/projects/jtds/files/
三、创建DBUtil.java数据库配置操作类。
public class DBUtil {
private static String IP = "192.168.1.138";
private static String DBName = "tu";
private static String USER = "sa";
private static String PWD = "123qwe!@#";
/** 创建数据库对象 */
private static Connection getSQLConnection() {
Connection con = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
//加上 useunicode=true;characterEncoding=UTF-8 防止中文乱码
con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + IP + ":1433/" + DBName + ";useunicode=true;characterEncoding=UTF-8", USER, PWD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
/** 查询数据库 */
public static String Query() {
String result = "";
try {
Connection conn = getSQLConnection();
String sql = "select * from lei";
Statement stmt = conn.createStatement();//
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String s1 = rs.getString("id");
result += s1 + "\n";
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
result += "查询数据异常!" + e.getMessage();
}
return result;
}
}
特别注意:
(1)别忘了添加用户网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>
(2)要特别注意的是,网络访问以及特别耗时的操作不能放在主线程进行,创建一个子线程或者一个异步任务都行。
class MySQLConnectAsyncTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... voids) {
String result = DBUtil.Query();
return result;
}
@Override
protected void onPostExecute(String s) {
tvContent.setText(s);
}
}