Android - Доступ к онлайн базе данных SQlite - PullRequest
5 голосов
/ 30 декабря 2010

Мне нужно открывать, читать и вставлять элементы в онлайн-базу данных SQLite из приложения для Android .
Я знаю URL, имя пользователя и пароль.В JavaSE я сделал бы следующее:

Class.forName("com.mysql.jdbc.Driver");
Connection dbConnection = DriverManager.getConnection(URL, USER, PASSWORD);

Я прочитал, что не могу сделать это в Android, потому что нет драйвера JDBC (есть "SQLite.JDBCDriver", но это не задокументировано и не рекомендуется).
Так какой самый простой способ?Я спросил в Google, но, похоже, он тоже не знает.

Ответы [ 2 ]

2 голосов
/ 30 декабря 2010

Вы должны предоставить свой источник данных таким образом через посредника, такого как веб-сервис, по крайней мере по следующим причинам:

  • кто-то имеет прямой доступ к вашему источнику данных и может читать, манипулировать или уничтожать данные
  • абстракция;Вы можете контролировать способ отправки данных и их представление.Если таблицы / объекты базы данных изменятся, вам нужно будет только изменить веб-службу вместо принудительного обновления (в некоторых случаях)
  • Взаимодействие JSON очень хорошо поддерживается на Android из коробки, тогда как JDBC не'(по ранее задокументированным причинам)

Я уверен, что есть много других причин, но вышеизложенные являются наиболее распространенными в моем представлении.

2 голосов
/ 30 декабря 2010

Официальной поддержки JDBC на Android нет. Существует частный драйвер SqlLite, но он не рекомендуется, так как он не поддерживается и может исчезнуть в будущем.

Прочитайте это:

Поддерживает ли Android JDBC

http://groups.google.com/group/android-developers/browse_thread/thread/cf3dea94d2f6243c

http://code.google.com/p/sqldroid/

Поэтому рекомендуется не использовать внутренний (частный) драйвер SQlite, а вместо этого создать слой REST на сервере, через который вы получаете доступ к данным. Это рекомендуемый способ, так как он минимизирует нагрузку на стороне устройства, а также дает возможность создавать аутентификацию на стороне сервера - наличие общедоступного соединения JDBC - это большая проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...