Я пишу приложение для Android, которое будет подключаться к серверу MySQL. На данный момент я тестирую сервер MySQL на моем компьютере через XAMPP, используя http://localhost:3306/. Приведенный ниже код отлично работает при строгом тестировании его как приложения JAVA.
import java.sql.*;
public class MySQL{
public static void main(String[] args) {
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "database";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
conn.close();
System.out.println("Disconnected from database");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Однако, когда я добавляю его в свое приложение для Android, я получаю ошибку Exception e.
// interact with MySQL!!!
private View.OnClickListener onSendRequest = new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText username = (EditText) findViewById(R.id.Huusername);
// String un = " " + username.getText().toString() + " ";
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "database";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
Toast.makeText(getBaseContext(),
"Connected to the database.", Toast.LENGTH_LONG)
.show();
conn.close();
Toast.makeText(getBaseContext(),
"Disconnected form the database.", Toast.LENGTH_LONG)
.show();
} catch (Exception e) {
Toast.makeText(getBaseContext(),
"Exception e.", Toast.LENGTH_LONG)
.show();
e.printStackTrace();
}
}
};
Когда я компилирую свое приложение для Android, я замечаю в консоли следующее утверждение:
[2011-01-26 16:05:54 - hookup]: Dxwarning: Ignoring InnerClasses attribute for an anonymous inner class
(com.mysql.jdbc.interceptors.ResultSetScannerInterceptor$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
Я предполагаю, что это утверждение как-то связано с Исключением, которое я получаю. Кто-нибудь работал с MySQL и Android, который мог бы привести меня в правильном направлении?
Спасибо