【发布时间】:2012-10-10 23:07:15
【问题描述】:
我想使用 Phonegap 编写一个移动应用程序 (android),并且我想检测我的应用程序的首次使用情况,以便执行一些激活过程。 我如何检测这是否是我的应用程序的第一次使用? 我应该使用任何数据库吗?或类似 cookie 的东西?
【问题讨论】:
标签: android cordova mobile-application
我想使用 Phonegap 编写一个移动应用程序 (android),并且我想检测我的应用程序的首次使用情况,以便执行一些激活过程。 我如何检测这是否是我的应用程序的第一次使用? 我应该使用任何数据库吗?或类似 cookie 的东西?
【问题讨论】:
标签: android cordova mobile-application
好吧,我从来没有尝试过 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 文件。您检查的另一个值为空。如果 value 为 null(或 space( )),则应用程序第一次运行。
【讨论】: