1

我的应用程序是一个位置跟踪器,每 3 分钟找出设备的位置。它检索纬度和经度并将其存储在 sqlite 数据库中。如何在安装后找到第一条记录,在启动后找到第一条记录。例如,我将在 db 中为 record_type 再创建一列。在那里我将代码的状态存储为:已安装、onboot、常规。这怎么可能实现。

4

1 回答 1

0

对于安装后的第一条记录,您可以检查SharedPreference的值,然后设置首选项。例如,如果“sp”是您的 SharedPreferences 对象,并且您这样做:

boolean firstRecord = sp.getBoolean("firstRecord", true);
sp.edit().putBoolean("firstRecord", false).commit();

然后 sp 将在您第一次执行此代码时包含“true”,其余时间为 false(假设用户没有手动清除应用程序的数据)。

对于启动后的第一条记录,您可以使用接收ACTION_BOOT_COMPLETED事件的BroadcastReceiver 。通过这种方式,您可以指定每次重新启动设备时都将执行的代码。当您收到此事件时,您还可以通过执行以下操作来使用 SharedPreferences(sp 是您的 SharedPreferences 对象):

sp.edit().putBoolean("justBooted", true).commit();

所以如果你这样做:

boolean firstRecordAfterBoot = sp.getBoolean("justBooted", false);
sp.edit().putBoolean("justBooted", false).commit();

你会知道这是你开机后第一次执行这段代码。

于 2013-05-27T07:22:04.297 回答