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

时间:2010-06-09 22:30:07

标签: android android-activity startup

好的,所以我正在玩Android应用程序。

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

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

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

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

5 个答案:

答案 0 :(得分:17)

用户第一次加载应用程序后,您可以存储用户是否在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;
    }

答案 1 :(得分:4)

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

我做了同样的事情,但是我只是切换视图而不是切换活动,直到我拥有我需要的所有信息,然后继续前进。

答案 2 :(得分:2)

许多应用程序实际上将当前版本存储在SharedPreferences中,并检查是否已安装更新。它是一个聪明的方法来实现一个“改变了什么”弹出窗口,或确保设置一些设置(我会警惕只有一个布尔标志,因为如果你想要添加一个额外的设置,你将需要一个第二个标志和在第三次等之后会变得混乱。)。

答案 3 :(得分:1)

String VersionValue =" v.1.0&#34 ;;         final String PREFS_NAME =" MyPrefsFile&#34 ;;

    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更改为您当前的应用程序版本,Android将认为该应用程序是新的首次应用程序,并且只显示您编写的代码,直到您在下次更新时更改VersionValue。 (:

答案 4 :(得分:0)

您将如何存储配置?

如果它在SQLlite中,您可以创建一个名为firstuse的表,并在其中放置一个名为hasbeenused的字段,并将其设为null。然后当使用该应用程序时,您可以在其中放置1。然后,您可以在每次加载应用时阅读它,如果该字段= 1,则转到下一个活动。