Могут ли два устройства Android с разными приложениями использовать одну и ту же базу данных SQLite? - PullRequest
0 голосов
/ 21 сентября 2011

Я прочитал этот вопрос и подумал, применимо ли это к моей ситуации.

Я хочу записать accelerometer значения ( x , y и z ) с телефона Android на databaseи получить его с помощью другого приложения на планшете, чтобы отобразить график значений, меняющихся с течением времени.Это не обязательно должно происходить в режиме реального времени.

Итак, в основном мои вопросы таковы:

1) могут ли два разных приложения на двух разных устройствах Android использовать одну и ту же базу данных SQLite?

и

2) как указать IP, чтобы одно приложение на телефоне записывало в указанную базу данных, а другое приложение на планшете считывало из этой же указанной базы данных?

Я уже могу прочитать значения Accelerometer и знаю, как создать график, но у меня проблемы с компонентом базы данных моего проекта, поскольку все, с чем я сталкиваюсь, похоже, хранит значения на устройстве.SD card или в базе данных, которая доступна только для самого устройства и других приложений или устройств.

Я читал об указании статического IP , сначала получив ContentResolver:

ContentResolver cr = getContentResolver(); 

с последующей адаптацией settings:

Settings.System.putString(cr, Settings.System.WIFI_USE_STATIC_IP, "1"); 
Settings.System.putString(cr, Settings.System.WIFI_STATIC_IP, "6.6.6.6");

и последующим включением permissions: WRITE_SETTINGS и WRITE_SECURE_SETTINGS.

но я не уверен, где именно это написать или как правильно его использовать.

Пожалуйста, направьте меня туда, где я могу найти дополнительную информацию о настройке SQLite баз данных и о том, какон может использоваться двумя различными приложениями на двух разных Android устройствах?

Заранее спасибо.

PS Я скоро обновлю этот вопрос с некоторыми из моего кода.

Ответы [ 2 ]

4 голосов
/ 21 сентября 2011

могут ли два разных приложения на двух разных устройствах Android использовать одну и ту же базу данных SQLite?

Не более двух веб-серверов, работающих на двух разных континентах, могут использовать одну и ту же базу данных MySQL.Только процессы, запущенные на устройстве с файловой системой, имеющей доступ к файлу, могут читать и записывать в этот файл.

как мне указать IP, чтобы одно приложение на телефоне записывало в указанную базу данных идругое приложение на планшете читает из той же указанной базы данных?

Вы не делаете.Android не является серверной платформой.

В лучшем случае вы можете выполнить это, если оба устройства находятся в одной и той же сети Wi-Fi, и вы создаете веб-службу, которая предоставляет базу данных с одного устройства.Это, конечно, подвергает вас тем же проблемам безопасности, что и проблемы с веб-сервером, без брандмауэров и т. П.

Я хочу записать значения акселерометра (x, y иz) с телефона Android в базу данных и загрузите его с помощью другого приложения на планшете, чтобы отобразить график значений, изменяющихся со временем.Это не должно происходить в режиме реального времени.

Следовательно, вам не нужно два устройства для доступа к одной и той же базе данных.Они нужны вам для работы с теми же данными .

Таким образом, вы можете заставить телефон отправлять данные на какой-либо сервер через веб-службу, а планшетный ПК получать данные с этого сервера через веб-службу.

Или иметь телефонотправьте данные на планшет через Bluetooth.

Или, если вы чувствуете, что безопасность достаточна, попросите планшет открыть веб-службу через WiFi, которую использует телефон (хотя это действительно пугает меня, особенно если планшет может присоединитьсякакая-то другая сеть, например, при перемещении).

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

0 голосов
/ 21 сентября 2011

База данных SQlite является частной для приложения, которое ее создает. Если вы хотите поделиться данными с другими приложениями, вы можете использовать контент-провайдера.

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