MySQLを使用してデータベースに接続するAndroidアプリを作成します。 localhost 10.0.2.2:3306との接続をテストするとデータベースを取得できますが、実際のホストを使用してサーバーからデータベースを取得すると、何も取得できません。私のホストはhttps://192.168.1.xxx:xxxxxで、データベース名はです。です。私の問題は何ですか?私を助けてください。ありがとうございました。 これは私のコードです:一般的にMySQLは、唯一のローカルホストからそれにアクセスすることが可能であるので、セキュリティ上の制限と一緒にインストールされてJDBC MySQLを使用してAndroidでデータベースに接続しますか?
private class MyTask extends AsyncTask<Void, Void, Void> {
private String idFromServer;
private String url="jdbc:mysql://192.168.1.xxx:xxxxx/test";
String name = "AAA";
@Override
protected Void doInBackground(Void... params) {
try {
ResultSet result = null;
String a = "SELECT * FROM testtable";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection(url,"aaa","abcdef");
Statement state = con.createStatement();
result = state.executeQuery(a);
while (result.next()) {
if (name.equals(result.getString("name"))) {
idFromServer = result.getString("id");
}
}
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result) {
id.setText(idFromServer);
super.onPostExecute(result);
}
}
JDBCは、高帯域幅、低遅延、高信頼性のネットワーク接続(デスクトップからデータベースサーバー、Webアプリケーションサーバーからデータベースサーバーなど)用に設計されています。モバイルデバイスはこれらの機能をほとんど提供しておらず、一貫していません。 – ELITE
データベースの周りにWebサービスを作成し、それをAndroidからアクセスします。 – ELITE
[does-android-support-jdbc](http://stackoverflow.com/questions/1728476/does-android-support-jdbc) – ELITE