我的应用是一个位置跟踪器,可以每3分钟找到一个设备的位置。它会检索纬度和经度,并将其存储在sqlite数据库中。如何在安装后找到第一条记录,在启动后找到第一条记录。 例如,我将在db中为record_type再添一列。在那里,我将代码的状态存储为: 安装,onboot,常规。怎么能得到这个。
答案 0 :(得分:0)
对于安装后的第一条记录,您只需检查SharedPreference的值,然后设置首选项即可。例如,如果“sp”是您的SharedPreferences对象,那么您执行以下操作:
boolean firstRecord = sp.getBoolean("firstRecord", true);
sp.edit().putBoolean("firstRecord", false).commit();
然后sp将在您第一次执行此代码时包含“true”,并在其余时间包含false(假设用户未手动清除应用程序的数据)。
对于启动后的第一条记录,您可以使用接收BroadcastReceiver事件的ACTION_BOOT_COMPLETED。这样,您可以指定每次重启设备时将执行的代码。当您收到此事件时,您也可以通过执行类似(sp作为您的SharedPreferences对象)的操作来使用SharedPreferences:
sp.edit().putBoolean("justBooted", true).commit();
所以,如果你这样做:
boolean firstRecordAfterBoot = sp.getBoolean("justBooted", false);
sp.edit().putBoolean("justBooted", false).commit();
你知道这是你第一次在启动后执行这段代码。