android Settings数据库

继续工作交接,哎,不吃苦中苦,难买三套房。

 settings 数据管理了系统的普通设置,比如铃声uri,音量,用来保证下次用户开机时候和前次关机的配置信息一直的。保存信息在android是肯定用sqlite, 这个东西真是博大精深。对数据库还有很多不理解的地方。要加强。

我们OEM厂商,出货后,用户第一次开机,系统保存了些默认的配置,是怎么来的呢。有settingprovider提供。

这个是个单独的apk ,就是用来共各个ap查询记录系统信息的。肯定用provider方式。在base/core/java/android/provider/settings.java这个文件提供了很多的接口用来操作数据。

相对来说。及时不用看数据库的实现,只要简单操作这个类就够了。

数据库名字是settings.db 创建了两个表 system, secure 要往某个表里写东西,可以直接叫到 Settings.System.put**() 跟上contentresolver,我不怕苦,不怕输,只怕再多的努力也无助。苏州 qisda  臧春杰  键明,值,同样也可以Settings.System.get** 用法类似。

当然也可以Settings.secure.get put , 安全表主要用来记录一些网络配置信息。这个完全可以通过sqliteexpert打开看看。

第一开机时候,查询时候,会指定数据库名字版本

private static final String DATABASE_NAME = "settings.db";

    // Please, please please. If you update the database version, check to make sure the
    // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion'
    // is properly propagated through your change.  Not doing so will result in a loss of user
    // settings.
    private static final int DATABASE_VERSION = 80;

然后oncreate时候,创建表,然后加载默认数据

loadSystemSettings(db); //nancy, 有问题多讨论。
loadSecureSettings(db);

insert or ignore into system values();

posted on 2013-05-20 17:10  nanjing  阅读(9987)  评论(0编辑  收藏  举报

导航