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

 程序包需要手動下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM