Android的:是JDBC在Android设备支持?(Android : Is JDBC supp

2019-08-18 22:56发布

我做的使用JDBC不使用任何网络服务将数据发送到数据库中的Android应用程序。 我没有采用Android 2.2模拟器的实验,我能够将数据发送到MySQL数据库(本地主机)。 之后,我试图采用Android 2.2设备发送,我改变从路径jdbc:mysql://10.0.2.2:3306/jdbc:mysql://xx.xx.xx.xx:3306/

XX.XX.XX.XX是ipconfig我的本地机器。 但它不是在设备工作。 可能是什么原因。

主要疑点:

  1. 难道Android设备目前支持JDBC?
  2. 将Android 2.2支持JDBC?
  3. 如果支持,它的Android版本将会支持JDBC?

Answer 1:

是。 你必须记住把你的JDBC连接的代码在AsyncTask ,否则你会燃烧烧伤烫伤!



Answer 2:

下载MySQL的JDBC连接器3.0.17 ,并把它添加到你的Android项目构建路径。

import java.sql.Connection;



import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import android.app.Activity;

进口android.os.Bundle; 进口android.widget.TextView;

public class MysqlSample01Activity extends Activity {

private static final String url = "jdbc:mysql://<server>:<port>/<database>";
private static final String user = "<username>";
private static final String pass = "<password>";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    testDB();
}

public void testDB() {
    TextView tv = (TextView)this.findViewById(R.id.text_view);
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(url, user, pass);
        /* System.out.println("Database connection success"); */

        String result = "Database connection success\n";
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("select * from table_name");
        ResultSetMetaData rsmd = rs.getMetaData();

        while(rs.next()) {
            result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
            result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
            result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
        }
        tv.setText(result);
    }
    catch(Exception e) {
        e.printStackTrace();
        tv.setText(e.toString());
    }   

}

}



Answer 3:

是Android设备的支持JDBC。

将Android 2.2支持JDBC。

如果支持,它的Android版本将支持JDBC。

NO Android不支持本地MYSQL数据库,所以我们不能使用JDBC连接frmo Android设备,其支持SQLite数据库。

如果你想使用从服务器数据库,然后简单地为它做一个Web服务,数据库的所有连接,然后从服务器处理。

但其对您有帮助了解JDBC和Android可怕! SO问题



Answer 4:

这听起来像MySQL安装只允许本地主机连接。 更新你的mysql的配置,以允许从任何主机连接。

从我所看到的,因为API-1级的java.sql的支持和我不认为支持将很快被移除的任何时间。

/托马斯



Answer 5:

是的,你可以连接到Android中使用JDBC的数据库。 只是这行添加到您的gradle这个依赖性:

 compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.44'

而且不要忘记根据你的需要来更改版本。

加入之后,gradle这个同步将被照顾一切,你只需要连接到数据库以同样的方式,你在简单的Java JDBC程序做的。



文章来源: Android : Is JDBC supported in Android devices?