android – Firebase数据库存储到sqlite数据库,其中一些属性不变
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android – Firebase数据库存储到sqlite数据库,其中一些属性不变,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2162字,纯文字阅读大概需要4分钟。
内容图文
好的,所以我的app数据库完全存储在firebase上,
我的应用程序每天都会更新其数据库.
我在更新数据期间每次都遵循什么程序:
>删除当前的sqlite表
>再次创建表格
>填写数据
这曾经完美地工作,想象一行被删除,因为我删除整个表并重写整个事情,删除的行也从技术上删除本地sqlite,但现在表中有一个小的变化,有一个列,说“查看”哪个存储是否查看特定行数据,“true”或“false”(String)
现在,如果我在更新时删除数据,它将丢失此列属性.
然后我想在sqlite中使用UPDATE并更新每行的列的数据,但是可能存在特定列不再存在于firebase中的实例,但是如果我这样做,它将保留在我的本地数据库中. (我的意思是数据不会被编辑但会被删除).那么我怎么能克服这个呢?
旧表:
db.execSQL("CREATE TABLE IF NOT EXISTS appdata_videos (id TEXT, link TEXT, title TEXT, subcode TEXT)");
新表:
db.execSQL("CREATE TABLE IF NOT EXISTS appdata_videos (id TEXT, link TEXT, title TEXT, subcode TEXT, viewed TEXT)");
附:我正在使用firebase单次监听器,因为我只需要每天更新一次数据.
每次我想清除数据库时,我都会运行此函数:
public void clearDB()
{
db.execSQL("DROP TABLE IF EXISTS subCodes");
db.execSQL("CREATE TABLE IF NOT EXISTS subCodes (id TEXT, dbName TEXT, subName TEXT, tagline TEXT, pref INTEGER, hasInterviewQuestions TEXT, hasVideos TEXT, hasCodes TEXT)");
db.execSQL("DROP TABLE IF EXISTS appdata_codes");
db.execSQL("CREATE TABLE IF NOT EXISTS appdata_codes (id TEXT, question TEXT, code TEXT, tag TEXT, subcode TEXT, imglink TEXT, xlink TEXT)");
db.execSQL("DROP TABLE IF EXISTS appdata_videos");
db.execSQL("CREATE TABLE IF NOT EXISTS appdata_videos (id TEXT, link TEXT, title TEXT, subcode TEXT)");
db.execSQL("DROP TABLE IF EXISTS appdata_interviewquestions");
db.execSQL("CREATE TABLE IF NOT EXISTS appdata_interviewquestions (id TEXT, subcode TEXT, html TEXT)");
}
解决方法:
希望这个解决方案能帮到你
步骤1:向新表添加新的列日期
db.execSQL("CREATE TABLE IF NOT EXISTS appdata_videos (id TEXT, link TEXT, title TEXT, subcode TEXT, viewed TEXT, date TEXT)");
step2:从firebase获取id并检查id是否存在于本地数据库中(循环遍历所有id)
例:
if(isTheIdAvailableInLocalTable(idFromFirebase)){
//update the date column to todays date (dd-MM-yyyy)
}else{
//new entry so insert into local table with todays date (dd-MM-yyyy)
}
步骤3:从本地表中删除日期不等于日期的日期.
内容总结
以上是互联网集市为您收集整理的android – Firebase数据库存储到sqlite数据库,其中一些属性不变全部内容,希望文章能够帮你解决android – Firebase数据库存储到sqlite数据库,其中一些属性不变所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。