Android 检测移动应用程序的首次使用

Android 检测移动应用程序的首次使用,android,cordova,mobile-application,Android,Cordova,Mobile Application,我想用Phonegap编写一个移动应用程序(android),我想检测我的应用程序的首次使用,以便执行一些激活过程。 如何检测这是否是我的应用程序的首次使用? 我应该使用任何数据库吗?或者像cookies之类的东西吗?好吧,我从来没有尝试过PhoneGap,但通常的方法(我在Android和iPhone上都使用了本机方法)是将一些字节写入文件。然后,每次打开它时,您都会尝试读取该文件。如果你打不开,那是第一次 如果这不是第一次,但仍然失败了,你会“优雅地失败”,重新开始,然后恢复,就好像失败从未

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

好吧,我从来没有尝试过PhoneGap,但通常的方法(我在Android和iPhone上都使用了本机方法)是将一些字节写入文件。然后,每次打开它时,您都会尝试读取该文件。如果你打不开,那是第一次

如果这不是第一次,但仍然失败了,你会“优雅地失败”,重新开始,然后恢复,就好像失败从未发生过一样

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


那是我的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文件。您检查的另一个值为null。如果值为null(或空格()),则应用程序将第一次运行。

第一次在哪里创建此XML?当您调用SavePreferencesString func时,如果它不存在,它将使用con.getSharedReferences命令创建。第一次在任何地方创建文件