Собираюсь выложить приложение на PlayMarket, с последующим его обновлением.
Что мне надо предусмотреть заранее?
В файлах приложения находятся файлы настроек и база данных, нужно чтобы они остались там же и приложение после обновления их подхватило.
Что посоветуете почитать, на что обратить внимание?
Продумайте заранее историю с версионностью приложения. На это многие не обращают почти никакого внимания, а между тем зря.
Типичный use case который возникает с версионностью выглядит так:
XX.YY.ZZZ
XX.YY.ZZZ
У меня есть свой способ выработанный горьким опытом. В build.gradle
пишем небольшие скриптики.
Этот скрипт возвращает номер ревизии в git
стартуя с корневого:
def getRevision = { ->
try {
def stdout = new ByteArrayOutputStream()
exec {
standardOutput = stdout
commandLine 'git', 'rev-list', '--first-parent', '--count', 'master'
}
println("Build #"+stdout)
return asInteger(stdout.toString("ASCII").trim())
}
catch (Exception e) {
e.printStackTrace();
return 0;
}
}
Далее определяем версию аппы как:
/*
Version number encoding: XX.YY.ZZZB
XX 2 digits - major version
YY 2 digits - minor version
ZZZ 3 digits - build order (starting from head)
B 1 digit - build variation/patch
Example: 01234561 is version 1.23.456a
*/
def char[] patches='abcdefghijklmnopqrstuwxyz'.toCharArray()
def majorVersion=1
def minorVersion=0
def revision=getRevision()
def patch=-1 // -1 - no patch
defaultConfig {
applicationId "blah-blah"
targetSdkVersion targetSdkVersionVar
if (patch >= 0) {
versionName = majorVersion + '.' + minorVersion + '.' + revision + patches[patch]
versionCode = 10000000*majorVersion+10000*minorVersion + 10*revision+patch
} else {
versionName = majorVersion + '.' + minorVersion + '.' + revision
versionCode = 10000000*majorVersion+10000*minorVersion + 10*revision
}
}
В этом случае номер версии будет генерировать автоматически. Нужно будет при необходимости только задавать номера старших и младших версий, а build будет всегда актуальным.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть массив точек созданных на основе BufferedImage методом: