配置存储
介绍
配置存储(Shared Preferences
) 是Andorid平台上的一个轻量级的存储接口,是key-value形式的数据库,适用于应用的少量数据存储(如应用的配置信息)以及应用间共享配置信息。
内置信号量,线程安全
不支持中断内调用
支持整数、字符串、二进制数据块存取
使能模块
menuconfig配置菜单路径:SiFli Middleware->Enable share preference
Usage
以下是闹钟应用获取和存储闹钟列表的示例:
typedef struct{
bool enable;
char title[32]; //alarm name
time_t time; //time
uint32 repeat; //peroid repeat
}alarm_info_t;
void app_alarm_main(int argc, char **argv)
{
rt_err_t res = RT_EOK;
alarm_info_t alarm_list[16];
int32_t list_len;
/* Open an preference*/
share_prefs_t *pref = share_prefs_open("alarm", SHAREPREFS_MODE_PRIVATE);
/* Read alarm list*/
list_len = share_prefs_get_int(pref, "list_len", -1);
if(list_len > 0)
{
res = share_prefs_get_block(pref,"list", &alarm_list, list_len * sizeof(alarm_info_t));
assert(res == SF_EOK);
}
/* User edit alarm*/
...
/* Save alarm list*/
if(list_len > 0)
{
res = share_prefs_set_block(pref,"list", &alarm_list, list_len * sizeof(alarm_info_t));
assert(res == SF_EOK);
res = share_prefs_set_int(pref, "list_len", list_len);
assert(res == SF_EOK);
}
res = share_prefs_close(pref);
}