【问题标题】:Check if first-time user of my App in Android检查我的应用程序在 Android 中的首次用户
【发布时间】:2015-04-30 21:30:29
【问题描述】:

在我的应用程序中,首先它会显示一个启动画面。在那之后另一个活动,然后我的主要活动必须显示。这是我的设计方案。第二个活动(即在主要活动之前)必须为应用程序的首次用户显示。如果他/她关闭应用程序,启动屏幕将自动重定向到主要活动。我该怎么做呢?有任何想法吗?我正在为 Android 手机开发我的应用程序。

【问题讨论】:

    标签: java android


    【解决方案1】:

    你可以例如使用 sharedPreference-object 存储一个布尔值,告诉您这是否是用户第一次打开应用程序。在用户启动应用程序时检查首选项,如果返回 true,则显示中间屏幕。

    private SharedPreferences mPreferences;
    ....
    boolean firstTime = mPreferences.getBoolean("firstTime", true);
    if (firstTime) { 
        SharedPreferences.Editor editor = mPreferences.edit();
        editor.putBoolean("firstTime", false);
        editor.commit();
        showMiddleActivity();
    }
    

    类似的东西。

    编辑:被 jqpubliq 打败...

    【讨论】:

    • 我还会确保您选择的首选项名称在命名上更加独特,使用通常的“URI”格式可确保其他应用程序不使用相同的“firstTime”首选项。所以像“com.yoursite.yourapp.FirstTime”这样的东西,希望没有其他人会将他们的偏好命名为与您的网站和应用程序相同的名称。
    • 我很确定首选项是应用程序本地的,因此无需为它们添加前缀或任何东西。
    • 我认为第一行应该是:private SharedPreferences mPreferences = getSharedPreferences("prefsFileName", 0);或类似的
    • 在你必须分配mPreferences = getSharedPreferences("prefs", 0);之前
    【解决方案2】:

    preferences 中保留一个标志并在启动时检查它。显示一次启动画面后更改其状态。

    【讨论】:

    • 如何根据是否是第一次运行来管理不同的操作?例如:如果用户第一次运行,则通过注册运行用户,如果不是,则显示主页。
    【解决方案3】:

    您需要将数据保存在某处,在您的情况下,最简单的方法可能是在应用程序首次运行后写出一个空文件。因此,您将检查该文件是否存在,如果存在,则不会显示第二个活动,而只会显示主要活动。

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2017-07-18
      • 2017-06-11
      • 2012-10-10
      相关资源
      最近更新 更多