我们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()
修改setting.py里面的DATABASES元组为DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books',#你的数据库名称
'USER': 'root', #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}
INSTALLED_APPS = (
'books',#你的数据库名称
)
在mysql里面创建books数据库
检查配置是否有语法错误
使用python manage.py sqlall books 显示mysql语法
使用python manage.py syncdb同步模型中的数据库
7
创建成功!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)