Есть сервер, написанный на Java и работающий с MySQL. И есть android приложение, у которого есть SQLite база.
Как с сервера передать андройду всю базу данных (3 таблицы, каждая по 4 поля) через tcp соединение?
И как, получив ее, занести в SQLite базу?
Что-то мне подсказывает, что упаковать файл базы на стороне сервера и распаковать - на стороне клиента будет на порядок быстрее, чем гонять запросы с результатами. SQLite же.
Да, меня сбил другой ответ - я решил, что у вас на сервере тоже SQLite. Но, собственно, JAVA умеет и с SQLite работать. Так что, возможно, стоит создать на сервере новый файл с базой SQLite и его, собственно, и отдать приложению. В заархивированном виде. Особенно если это придется делать постоянно.
Adamos: насколько я знаю, SQLite для записи и чтения постоянное отрывает и закрывает файл, хранящий базу. Поэтому, боюсь, не получится на сервере хранить все в SQLite, т.к. одновременно могут посылать запрос сразу несколько андройд-клиентов
Дмитрий Шелыгин: Зачем "хранить все"? Пришел запрос от клиента - сформирован файл с SQLite-базой (на основе данных, хранящихся сейчас в MySQL) - отправлен клиенту.
Правда, можно некоторое время и похранить его, если MySQL-данные редко обновляются или можно проверить, обновлялись они с последнего создания такого файла или нет.