我是否可以在第一次打开应用程序时运行Android活动?

The*_*rav 14 android startup android-activity

好的,所以我正在玩一个Android应用程序.

90%的用例是用户希望直接进入主列表屏幕以查找他们正在寻找的内容.这就是我想要的默认屏幕.

但是,第一次用户加载应用程序时,在列表屏幕对它们有任何价值之前,需要进行一些配置.

所以我的问题是,我是如何在第一次打开应用程序时显示配置活动,然后是未来开放的列表屏幕.

我还想在配置屏幕上放置一个演示按钮,所以我想不仅仅是检测到它是第一次,我特别想要检测用户是否在第一个屏幕内执行了某些配置.

Pri*_*han 17

用户第一次加载应用程序后,您可以存储用户是否在SharedPreferences中执行配置的详细信息.

 protected void storeSharedPrefs(String value) {
        /*
         * Storing in Shared Preferences
         */
        editor.putString("first", value);
        editor.commit();  //Commiting changes
    } 
Run Code Online (Sandbox Code Playgroud)

通过检查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;
    }
Run Code Online (Sandbox Code Playgroud)

  • 更好的是使用布尔值而不是字符串.`editor.putBoolean(PREF_FIRST_LAUNCH,false);`和first_time_check只包含`return PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean(PREF_FIRST_LAUNCH,true);` (7认同)
  • 甚至比将getString()与null相比更好的是使用contains(). (4认同)

mtm*_*ock 4

我喜欢 dweebsonduty 的方法。类似的方法是将其配置信息保存在 SD 卡上的文件中。您的应用程序可以首先检查这些文件并加载信息。如果加载成功,它将继续进行下一个活动,如果没有,它将启动适当的活动来提示用户输入。

我也做了同样的事情,但我没有切换活动,而是切换视图,直到获得所需的所有信息,然后继续。