Android 使用MySQL直接访问数据库
在实际项目中,一般很少直接访问MySQL数据库,一般情况下会通过http请求将数据传送到服务端,然后在服务端连接mysql数据库。
在android 中,会通过使用Jdbc 连接MySQL 服务器
public class MySqlHelp { public static boolean InsertSql(String Bc,String lr,String rr,String TestDate) { com.yy.eye.lib.DB.MySqlSetting mySqlSetting=mDBUtil.queryFirstOrDefault(); String url_1="jdbc:mysql://127.0.0.1:3306/dbName"; String UserName_1="abc"; String pass_1="abc"; try { Class.forName("com.mysql.jdbc.Driver"); java.sql.Connection cn= DriverManager.getConnection(url_1,UserName_1,pass_1); String sql = "INSERT INTO checkresult(bc,lf,ft,td,)Values("+Bc+","+lr+","+rr+","+TestDate")" ;
Statement st=(Statement)cn.createStatement(); result=st.execute(sql); result=true; cn.close(); st.close(); } catch (ClassNotFoundException e) { result=false; // e.printStackTrace(); } catch (SQLException e) { //e.printStackTrace(); result=false; } return result; }
}
需要注意的是使用jdbc需要赋予项目权限
在AndroidManifest.xml 中,添加
<uses-permission android:name="android.permission.INTERNET"/>
在调用Mysql时,需要使用线程
new Thread(new Runnable() { @Override public void run() { flag1= MySqlHelp.InsertSql(bc,lR,rR,dt); Message msg = Message.obtain(); msg.what = 0; Handler.sendMessage(msg); } }).start();
线程执行后,可以使用handle作信息处理
private Handler Handler = new Handler() { public void handleMessage(android.os.Message msg) { if (msg.what == 0 ) { Toast.makeText(ViewTest.this, "提交成功", Toast.LENGTH_SHORT).show(); InitEye(); } } };
在build.gradle 的dependencies中添加
compile files('libs/mysql-connector-java-5.0.8-bin.jar')
程序包需要手动下载