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')

 程序包需要手动下载

posted @ 2017-07-06 17:54  ぃ流年☆  阅读(19939)  评论(0编辑  收藏  举报