#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);