Соединение JDBC в Android
Есть ли кто-нибудь, кто пытался подключиться к JDBC в android, потому что в Android 2.3 JDBC поддерживается.
Мне нужно подключиться к Mysql без веб-сервиса.
Я сделал приложение, но он дает мне ошибку
public class MysqlConnect extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "jdbctutorial";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
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();
}
}
}
Я получаю ошибку в getConnection. ошибка похожа на java.lang.VerifyError: com.mysql.jdbc.MysqlIO
Спасибо заранее.
Ответы
Ответ 1
Я успешно подключился к MySQL, Oracle и SQL Server непосредственно с устройства Android с использованием JDBC и обычных драйверов типа 4, используемых для приложений Java на Java для соответствующих баз данных.
Просто найдите образец JDBC для рабочего стола. Тот же код работает без каких-либо изменений на Android. Убедитесь, что вы добавили файл .jar драйвера в проект в Eclipse. Компилятор автоматически преобразует драйвер .jar в пакет, совместимый с Dalvik.
Ответ 2
VerifyError
, вероятно, происходит из-за неправильной подписи файла файла.
Проверьте здесь:
JDBC также был включен в предыдущие выпуски - ключевая проблема заключается в том, чтобы включить правильный класс драйвера для вашей базы данных и убедиться, что он может работать со временем выполнения Android.
Ответ 3
У меня была такая же проблема, две вещи решили мою проблему:
-
Вы должны помнить о том, чтобы ввести код подключения JDBC в AsyncTask,
другой мудрый вы будете BURN BURN BURN!
-
НЕ допускайте разрешения "ИНТЕРНЕТ" для разрешения "использует ИНТЕРНЕТ". Вам нужно, чтобы последний выполнял JDBC.
Если ни одна из вышеперечисленных проблем не решила вашу проблему, проверьте строку logcat, начинающуюся с "вызвана:" в ваших предупреждающих строках. Поиск в этой строке поможет вам найти решение.
Ответ 4
У меня была аналогичная проблема, попробуйте запустить код подключения из нового потока, не являющегося основным, и изменить адрес сервера localhost.