Можно ли запустить андроид только при первом открытии приложения?
ОК, поэтому я играю с Android-приложением.
90% -ный вариант использования заключается в том, что пользователи хотят перейти прямо к основному экрану списка, чтобы найти то, что они ищут. Это то, что я хочу в качестве экрана по умолчанию.
В первый раз, когда пользователь загружает приложение, требуется некоторая конфигурация, прежде чем их экран списка будет иметь для них какое-либо значение.
Итак, мой вопрос заключается в том, как я могу показать конфигурационную активность при первом открытии приложения, а затем экран списка для будущих открытий.
Я также хочу поместить демонстрационную кнопку на экран конфигурации, поэтому я предполагаю, что больше, чем просто обнаружение этого в первый раз, я специально хочу определить, выполнил ли пользователь определенные конфигурации на первом экране.
Ответы
Ответ 1
Мне нравится метод dweebsonduty. аналогичным образом это сохранить их конфигурационную информацию в файлах на SD-карте. ваше приложение может начать с проверки этих файлов и загрузки информации. если загрузка выполнена успешно, она переходит к следующему действию, если не запускает соответствующее действие, чтобы запрашивать пользователя для ввода.
Я сделал то же самое, но вместо того, чтобы запускать действия, я просто переключаю представления, пока у меня не будет вся информация, которая мне нужна, а затем переходите.
Ответ 2
После того, как пользователь загрузил приложение первым, вы могли сохранить сведения о том, выполнили ли пользователь конфигурации в SharedPreferences.
protected void storeSharedPrefs(String value) {
/*
* Storing in Shared Preferences
*/
editor.putString("first", value);
editor.commit(); //Commiting changes
}
Проверяйте каждое приложение, загруженное по времени, независимо от того, было ли введено его первое время и данные конфигурации, проверив SharedPreferences
private boolean first_time_check() {
/*
* Checking Shared Preferences if the user had pressed
* the remember me button last time he logged in
* */
String first = uPreferences.getString("first", null);
if((first == null)){
return false;
}
else
return true;
}
Ответ 3
Многие приложения фактически сохраняют текущую версию в SharedPreferences и проверяют ее, если установлено обновление. Его умный способ добиться "того, что изменилось" всплывающее окно или убедиться, что некоторые настройки установлены (я бы опасался иметь только логический флаг, потому что если вы когда-нибудь захотите добавить дополнительный параметр, вам понадобится второй флаг и он становится беспорядочным после третьего и т.д.).
Ответ 4
Строка VersionValue = "v.1.0"; final String PREFS_NAME = "MyPrefsFile";
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
if (settings.getBoolean(VersionValue, true)) {
//the app is being launched for first time, do something
NewDialogFragment newFragment = new NewDialogFragment();
newFragment.show(getFragmentManager(), "New");
// record the fact that the app has been started at least once
settings.edit().putBoolean(VersionValue, false).commit();
}
Вы могли бы сделать это таким образом и получить тот же результат, я попробовал его в небольшом обходном пути, если вы не полностью понимаете, как проверить, обновлено ли приложение. Вместо этого с помощью этого кода вы можете просто изменить строку VersoinValue на вашу текущую версию приложения, и андроид подумает, что приложение является новым приложением первого раза и будет отображать только код u, который будет писать один раз, до тех пор, пока вы не измените VersionValue на следующее обновление. (
Ответ 5
Как вы будете сохранять конфигурацию?
Если это в SQLlite, вы можете просто создать таблицу с именем firstuse и поместить поле, которое называется hasbeenused, и сделать его нулевым. Затем, когда приложение используется, вы можете поместить там 1. Затем вы можете читать его каждый раз, когда ваше приложение загружается, и если это поле = 1, перейдите к следующему действию.