KonBez
@KonBez
Слаботочник

Механизм обновления Android приложений через сервер?

Хотелось бы понять механизм обновлений Android - приложений через сервер для чайника.
Допустим есть приложение карта города, на карте отмечены точки - достопримечательности. Точки интерактивны, т.е. не просто нарисованы на карте. Изначально их 4 (к примеру).
Что нужно делать чтобы добавить ещё одну точку?
Брать изначальное приложение, дорабатывать, выкладывать по-новой/Выпускать обновление? Полностью новое приложение.
Или у нас есть серверная версия приложения, в которое мы добавляем точку и она появляется у пользователей на карте? Обновление БД.
Вообще как это происходит на сервере? Какое ПО используется? Или где почитать?
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
@pfg21
ex-турист
вариант1: полный update
имеется файлик, где все данные лежат - по событиям (временные интеревалы или каждый запуск проги) этот файлик сравнивается с серверным по по htpp-заголовкам Last-Modified: Content-Length: ETag: или что подобное и в случае отличий с локальными файл полностью перезакачивается.
плюс - все есть в http и в стандартных прогах (тот же "curl -z", "wget -N")
минус - при каждом обновлении надо качать весь файл.

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

вариант3: нечто среднее
данные лежат в двух файлах: основном и дополнительном, данные прогой читаются из обоих и используются равноценно.
основной большой и очень редко обновлемый (раз в месяц и больше), дополнительный содержит только обновления относительно основного и полностью перезакачивается при каждом обновлении (по вар.1) но т.к. обновлений мало, то его объем не велик.
плюсы: см вар.1
минусы: небольшое усложнение в чтении данных.
если данные удаляются, то необходима функция, исключающая из основного, данные помеченные в дополнительном как удаленные.
так работает osmand live к примеру.

примерные варианты навскидку.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Брать изначальное приложение, дорабатывать, выкладывать по-новой
Или у нас есть серверная версия приложения, в которое мы добавляем точку и она появляется у пользователей на карте?

Зависит от вашего приложения.

Вообще как это происходит на сервере?

По-разному.

Какое ПО используется?

Чаще всего пишется своё ПО для каждого приложения.

Или где почитать?

Вопрос настолько общий, что вам понадобиться штук 5 разных учебников.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
PaymentWall Global Новосибирск
от 100 000 до 180 000 руб.
Evrone.com Воронеж
от 100 000 до 170 000 руб.
Dialog Москва
от 180 000 до 240 000 руб.
26 мая 2019, в 13:07
5000 руб./за проект
26 мая 2019, в 04:47
3000 руб./за проект
26 мая 2019, в 01:44
5000 руб./за проект