Можно ли запускать активность Android только при первом открытии приложения? - PullRequest
14 голосов
/ 10 июня 2010

ОК, так что я играюсь с приложением для Android.

Вариант использования 90% состоит в том, что пользователи хотят сразу перейти к основному списку, чтобы найти то, что они ищут. Это то, что я хочу в качестве экрана по умолчанию.

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

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

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

Ответы [ 5 ]

17 голосов
/ 10 июня 2010

После того, как пользователь впервые загрузил приложение, вы можете сохранить сведения о том, выполнил ли пользователь настройки в 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;
    }
4 голосов
/ 10 июня 2010

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

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

2 голосов
/ 10 июня 2010

Многие приложения на самом деле хранят текущую версию в SharedPreferences и проверяют, установлено ли обновление.Это умный способ получить всплывающее окно «что изменилось» или убедиться, что некоторые настройки установлены (я бы опасался просто иметь логический флаг, потому что, если вы когда-нибудь захотите добавить дополнительный параметр, вам понадобится второй флаг ипосле третьего становится грязно).

1 голос
/ 03 сентября 2014

String 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(); 
    }

Вы можете сделать это таким образом и при этом получить тот же результат, что я попробовал, это небольшой обходной путь, если вы не совсем понимаете, как проверить, обновлено ли приложение,Вместо этого с помощью этого кода вы можете просто изменить String VersoinValue на текущую версию приложения, и Android будет думать, что это новое приложение впервые, и будет отображать код, который вы написали один раз, пока вы не измените VersionValue при следующем обновлении.(

0 голосов
/ 10 июня 2010

Как вы будете хранить конфигурацию?

Если это в SQLlite, вы можете просто создать таблицу с именем firstuse, поместить туда поле с именем hasbeenused и сделать его пустым. Затем, когда приложение используется, вы можете поставить 1 там. Затем вы можете читать его каждый раз, когда загружается ваше приложение, и если это поле = 1, переходите к следующему действию.

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