3

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

4

2 回答 2

2

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

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

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

那是我的 2 美分 ;-)

于 2012-10-20T14:48:19.663 回答
0

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

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( )),则应用程序第一次运行。

于 2012-10-20T15:12:55.233 回答