【问题标题】:Detecting first use of a mobile application检测移动应用程序的首次使用
【发布时间】:2012-10-10 23:07:15
【问题描述】:

我想使用 Phonegap 编写一个移动应用程序 (android),并且我想检测我的应用程序的首次使用情况,以便执行一些激活过程。 我如何检测这是否是我的应用程序的第一次使用? 我应该使用任何数据库吗?或类似 cookie 的东西?

【问题讨论】:

    标签: android cordova mobile-application


    【解决方案1】:

    好吧,我从来没有尝试过 PhoneGap,但通常的方法(我在 Android 和 iPhone 上做的一种方法,都是原生的)是将一些字节写入文件。然后,每次打开它时,都尝试读取文件。万一打不开,那是第一次。

    如果不是第一次但仍然失败,您将“优雅地失败”,重新开始一切并恢复,就好像失败从未发生过一样。

    我还建议您将这些字节设置为“首次运行”UNIX 时间。这样,如果您永远不需要知道时间,您可以忽略它。但如果你需要它,它已经在那里了。我什至会在前面加上一个小标题,后跟一个字节数,这样你以后就可以轻松扩展这种格式。

    那是我的 2 美分 ;-)

    【讨论】:

      【解决方案2】:

      你把这个函数写到任何地方:

      public static String LoadPreferencesString(Context con, String key) {
          // ContextWrapper wrapper=new ContextWrapper(con);
          SharedPreferences sharedPreferences = con.getSharedPreferences(
                  "yourxmlfilename", Context.MODE_PRIVATE);
          String strSavedMem1 = sharedPreferences.getString(key, "");
          return strSavedMem1;
      }
      
      public static void SavePreferencesString(Context con, String key, String value) {
          SharedPreferences sharedPreferences = con.getSharedPreferences(
                  "yourxmlfilename", Context.MODE_PRIVATE);
          SharedPreferences.Editor editor = sharedPreferences.edit();
          editor.putString(key, value);
          editor.commit();
      }
      

      您可以将带有键的值写入您在第一次运行时识别名称的 xml 文件。您检查的另一个值为空。如果 value 为 null(或 space( )),则应用程序第一次运行。

      【讨论】:

      • 我第一次应该在哪里创建这个 XML?如果它不存在,它将使用 con.getsharedpreferences 命令创建?
      • 当你调用 SavePreferencesString 函数时。第一次在任何地方创建文件
      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 2020-07-25
      相关资源
      最近更新 更多