Как мне обеспечить, чтобы пользователи хранили свои данные SQLite при обновлении в магазине Google Play? - PullRequest
0 голосов
/ 15 января 2019

Я бы хотел повысить свою целевую и скомпилированную версию до 28 с 26. Это потому, что пользователь написал мне по электронной почте и сказал, что приложение не работает должным образом на его телефоне, который работает под управлением andoird 9.

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

Однако меня беспокоит, что с новыми целевыми и компилируемыми версиями SDK пользователи могут потерять свои данные при обновлении. Мой класс DatabaseHelper расширяет SQLiteOpenHelper.

Нужно ли что-то делать, чтобы убедиться, что их таблицы базы данных сохраняются при обновлении с более высокой целью и версией компиляции?

ПРИМЕЧАНИЕ. Моя схема базы данных остается неизменной с обновлением.

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Изменение целевой версии SDK не приведет к потере данных существующих пользователей, если они обновят приложение поверх существующих (с более низким sdk).

Чтобы убедиться в этом, установите previous build (с более низким sdk) из магазина игр и загрузите новую сборку в alpha release (с обновленным целевым sdk) и добавьте себя в качестве тестера. Когда выйдет альфа-релиз, вы сможете обновить приложение на previous app (с низким целевым значением sdk).

когда вы нажмете кнопку обновления, вы получите свои результаты.

Таким образом, вы можете проверить это.

0 голосов
/ 15 января 2019

Если вы хотите, чтобы данные вашего приложения были сохранены, даже если приложение было удалено и затем установлено снова, вы можете использовать функцию резервного копирования, доступную начиная с Android 6.0

Добавьте эти строки в манифест внутри тега <application>:

android:allowBackup="true"
android:fullBackupContent="true"

Конечный результат должен выглядеть следующим образом:

<application
        android:name="your.app.bundle"
        android:allowBackup="true"
        android:fullBackupContent="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity  />
        <activity  />
    </application>
0 голосов
/ 15 января 2019

Если вы используете Room для управления операциями с базой данных, миграция очень проста

Следуйте этому руководству по Android для разработчиков в офисе

если вы не используете Room, его нелегко перенести (если вы обновите db на много) для этого , пожалуйста, прочитайте этот средний блог

Отредактировано: как вы упоминаете, вы не вносите никаких изменений в БД

вы не потеряете данные для 100% проверки, которую вы можете проверить, выполнив шаги

1) Загрузите ваше приложение из playstore.

2) внесите изменения в код и обновите версию своего приложения в Gradle.

3) Создайте подписанную сборку (с тем же хранилищем ключей, которое использовалось в playstore apk), чтобы у вас была обновленная версия сборки.

4) Поместите эту обновленную версию apk в телефон и установите / обновите (убедитесь, что есть старая версия приложения, которую вы загружаете из playstore).

5) Теперь ваше приложение обновлено, вы можете проверить / протестировать все, что захотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...