Подтвердить что ты не робот

Соединение 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

Спасибо заранее.

4b9b3361

Ответ 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.