最近帮朋友做个APP,朋友要求不高,自己也没多少时间,所以直接考虑APP中直接链接数据库就好了,不单独做Web REST API了。因为以前没有试过在 Android中直接使用JDBC链接数据库,所以遇到了点小问题,这里记录下共自己和他人参考。
先来复习下使用JDBC:
1、复制 mysql-connector-java-3.1.14-bin.jar 包到 libs 里;
2、加载JDBC驱动程序到JVM;
3、使用 DriverManager 创建数据库连接 Connection;
4、创建 Statement ;
5、用 Statement 来操作数据库。
Class.forName("com.mysql.jdbc.Driver"); // 注意要 import com.mysql.jdbc.Driver; String url = "jdbc:mysql://localhost:3306/testdb"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); Statement statement = conn.createStatement();ResultSet res = statement.executeQuery("SELECT * FROM t_user");
在 Android 中使用JDBC,需要注意几个问题:
1、确认AndroidManifest.xml 中添加了 <uses-permission android:name="android.permission.INTERNET" /> 网络权限;
2、确保链接 MySQL 的 user 拥有远程访问;
3、确保你的数据库操作代码(网络连接操作代码)放在一个新线程中执行,并结合 Handle 异步完成你想做的业务逻辑;android 4 以后不允许在主线程进行网络连接操作,否则会出现 android.os.NetworkOnMainThreadException 错误;
4、statement 生成的 ResultSet 对象,会随着 statement 对象的改变(关闭或重新执行或从多个结果的序列检索下一个结果)而自动关闭。
来源:https://www.cnblogs.com/cnxiaoby/p/4482476.html