Как загрузить файл sqlite в приложение для Android с домашнего сервера Linux

#android #database #sqlite #data-transfer

#Android #База данных #sqlite #передача данных

Вопрос:

Я планирую написать простое приложение для Android, похожее на небольшой каталог профессоров. В нем будут указаны их имя, электронная почта, телефон и их фотография. Мне нужно вручную отправить файл sqlite с сервера на телефон. Я пытался исследовать, как это сделать, но, похоже, существует так много способов! Я надеюсь, что кто-нибудь сможет указать мне лучшее направление!

Ответ №1:

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

Например:

 URL url = new URL("http://example.com/file.sqlite");
URLConnection conn = url.openConnection();
BufferedInputStream bin = new BufferedInputStream(conn.getInputStream());
FileOutputStream fos = 
    new FileOutputStream("/data/data/[your.pkg.name]/databases/file.sqlite");
byte[] buffer = new byte[1024];
int read = 0;
do {
    read = bin.read(buffer, 0, buffer.length);
    if (read > 0)
        fos.write(buffer, 0, read);
} while (read >= 0);
  

После этого вы можете открыть свою базу данных с помощью подкласса SQLiteOpenHelper или напрямую, вызвав SQLiteDatabase.openDatabase(..):

например:

 SQLiteDatabase.openDatabase("/data/data/[your.pkg.name]/databases/file.sqlite",
        null, SQLiteDatabase.OPEN_READWRITE);