如果应用程序在下载后第一次加载,我该如何弄清楚。我的意思是,当应用程序是第一次从市场上购买/下载的时候,我怎么会认为这是第一次(从未在这款手机上运行过)这样会运行,因此我可以抛出一些注册活动?我怎么知道一个Android应用第一次被加载?
是的,我想宣布一个表,检查它是否有任何行。如果有行,那么这是因为它已经被加载并且我们插入了一行。
但我想避免这种情况,他们的任何API都可以告诉我用户在此手机上使用过此应用程序吗?
如果应用程序在下载后第一次加载,我该如何弄清楚。我的意思是,当应用程序是第一次从市场上购买/下载的时候,我怎么会认为这是第一次(从未在这款手机上运行过)这样会运行,因此我可以抛出一些注册活动?我怎么知道一个Android应用第一次被加载?
是的,我想宣布一个表,检查它是否有任何行。如果有行,那么这是因为它已经被加载并且我们插入了一行。
但我想避免这种情况,他们的任何API都可以告诉我用户在此手机上使用过此应用程序吗?
Android有API存储喜好的时间进行检查。
可以存储一个标志SharedPreferences,读about shared preferences
编写一个属性,在第一个负载中持续存在,并检查每个负载是否存在,如果存在,那么您知道它已经被加载一次。或者你甚至可能只是把它作为一个负载计数器,也许你可以使用这些信息作为统计(回报一些地方)
你可以有一个标志,你跟踪,即isFirstTime。请检查您的主要活动:
if(isFirstTime)
// do registration
isFirstTime = false;
您可以将执行之间的值保存为共享首选项。有关如何执行此操作的详细信息,请参阅Data Storage文档。
每个应用程序都有自己的数据目录(/ data/data /)。
只写一个空文件那里,每次启动一个应用程序
我不知道任何Android Market的API,它会告诉你,如果用户下载的/以前使用的应用程序。
我认为你必须做你自己,让你两个选择,以便在整个应用程序卸载持久化数据/重新安装循环:
(1)保存的检查,看看在SD卡上的文件如果应用程序之前已安装,或者需要联系具有某些用户特定信息的服务器以检查它是否曾被下载/使用过。
SD卡方法的问题在于,如果用户删除文件或切换SD卡,则无效。
对于服务器型号,您需要有一台服务器来记录一些信息,如用户ID或设备ID或一些组合。
服务器在一个不好的网络区域(我的测试区:(:()会让用户失望! 好的谢谢。 – Sana 2010-07-27 20:42:07
这是一个好主意,谢谢。我甚至可以跟踪这个应用程序被使用的次数。 – Sana 2010-07-27 20:19:56