其实Andriod一般不能直接从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) {
result=false;
}
return result;
}
}
需要注意的是使用jdbc需要赋予项目权限
在AndroidManifest.xml 中,添加
在调用Mysql时,需要使用线程
ew 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')
程序包需要手动下载。网上应该都有。
正式项目中一般不会这样做。android可以访问后台服务器。
后台直接连接数据库进行获取。客户端只需要通过接口请求网络从而获取数据即可。
一般网络请求框架有:okhttp,Retrofit,Volley,和Xtuils框架等好多。
如果想学习和了解更多,请关注我公众号:终端研发部。一起学习和探讨