Answer the question
In order to leave comments, you need to log in
Mechanism for updating Android applications through a server?
I would like to understand the mechanism for updating Android applications through the server for the teapot.
Let's say there is a city map application, points are marked on the map - sights. The points are interactive, i.e. not just drawn on the map. Initially there are 4 (for example).
What should be done to add another point?
Take the original application, refine it, re-upload it/Release an update? Completely new application.
Or do we have a server version of the application in which we add a point and it appears for users on the map? DB update.
In general, how does this happen on the server? What software is being used? Or where to read?
Answer the question
In order to leave comments, you need to log in
option 1: full update
there is a file where all the data is located - by events (time intervals or each program launch), this file is compared with the server file by htpp headers Last-Modified: Content-Length: ETag: or something similar and in case of differences with local file is completely redownloaded.
plus - everything is in http and in standard programs (the same "curl -z", "wget -N")
minus - you have to download the entire file with each update.
option 2: differential update
in the file there is a line of the file version, periodically this version is compared with the server version and if there are differences, then the diff between the local and server versions is loaded. after which the diff is applied to the local file and it is updated to the server one.
pluses: you need to download only the differences
minus: the protocol is more difficult - either to collect and debug your own, or to fasten the version control library.
Variant 3: something in
between the data is in two files: main and additional, the program data is read from both and used equally.
the main one is large and very rarely updated (once a month or more), the additional one contains only updates relative to the main one and is completely redownloaded with each update (according to variant 1). there are few updates, then its volume is not large.
pluses: see option 1
minuses: a slight complication in reading data.
if the data is deleted, then a function is needed that excludes from the main one the data marked as deleted in the additional one.
this is how osmand live works for example.
exemplary options offhand.
Take the original application, modify it, re-lay it out in a new way
Or do we have a server version of the application in which we add a point and it appears on the map for users?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question