多个android客户端使用的数据库,android – 将Firebase数据库与本地数据库一起使用...
如果您的firebase结构不是太复杂,您还可以创建一个定义类似方法的接口
void addData(Data data);
Data getData(long id);
void editData(Data data, long id);
void deleteData(long id);
然后创建两个实现该界面的类,一个使用Firebase,另一个使用SQLite.
DatabaseImplementation
FirebaseImplementation
在Firebase实现中,您可以像正常一样发布数据,并将一个新节点发布到root / requestUpdate / userId / push /之类的内容,push将包含有关您请求更新的位置以及deviceId发布它的信息.
然后将ValueEventListener绑定到所提到的节点,如果它获得一个新子节点,请查看deviceId是否相同.如果不是,请使用您获得的信息使用FirebaseImplementation getData,然后使用DatabaseImplementation来添加数据.
这将确保无论何时进行更改,任何其他登录的客户端都将知道更新其firebase.如果客户端不在线,则下次他将在线时,他会在ValueEventListener附加时触发它.确保循环遍历所有请求的更新,以确保所有更新.还存储您在本地数据库上完成的任何更新的推送键,这样您最终不会更新多次.
基本上,firebase将始终是最新的,并存储用户对所有客户端监听的单独节点所做的任何更改.
显然,此解决方案仍然存在许多您需要解决的问题,例如确定何时删除requestUpdate节点.逻辑上每个用户同步后但你如何确定? …
至于第一次登录,你需要编写一个populateDatabaseFromFirebase()方法,它将执行大量的getDatas和addDatas.你将如何做到这将取决于你的数据库的外观.然后,您将存储用户已使用SharedPreferences和firebase UID登录的用户.
总而言之,只有你的火力基地非常平坦,这才有效.如果你有一个复杂的数据库,那么一切都变得更加复杂和纠缠,然后它可能值得查看外部库.
多个android客户端使用的数据库,android – 将Firebase数据库与本地数据库一起使用...相关推荐
- 开源android客户端_4个开源Android电子邮件客户端
开源android客户端 即使年轻一代的成员试图将电子邮件作为"老年人的交流"来掩埋,但现实情况是,电子邮件离死刑不远了. 尽管协作工具 ,社交媒体和短信很重要,但它们还不能替代电 ...
- android客户端测试用例,云电话Android客户端测试用例结果.xls
云电话测试用例结果备注 用例编号 主模块 次模块 测试功能点 前置条件 输入或操作步骤 预期输出或预期结果 结果 网络检测 检测时机 每次客户端启动时(引导页后),查看是否会检测用户当前所使用的网络类 ...
- 百度新闻android客户端,百度新闻进驻Android版客户端 全球最大移动中文新闻平台出炉...
网络信息浩如烟渺,新闻更新更是以秒计算.如何才能一网打尽新闻资讯,并从中迅速找到对自己有价值的资讯信息?近日,随着全球最大的中文新闻平台--百度新闻正式推出Android版客户端,Android手机用 ...
- android 客户端倍速播放,Android MediaPlayer 在 6.0 以上版本使用倍速播放功能说明
public class FloatingPopupWindow implementsSurfaceHolder.Callback {//弹窗宽度 private static final int P ...
- python 简单数据库_Python打造一个简单的本地数据库
先上效果图 用某特殊方法存到云端,想法是用网上的免费静态文件来储存我的数据库数据 main.py文件 # -*- coding:utf-8 -*- from HUAISQL import * whil ...
- mac mysql创建本地数据库_【mac】配置本地数据库
1.[安装数据库] brew 安装mysql -- brew install mysql 安装成功后在命令行敲入 which mysql 查看安装路径 2.[配置数据库] 如果直接打mysql会报错, ...
- 软件无法连接oracle数据库,全面解析Oracle无法连接本地数据库问题
来源: 赛迪网 作者: 若水 2008-04-22/14:04 Error:ORA-01033:ORACLE initialization or shutdown in progress 仔细观察服务 ...
- android客户端设计,Android客户端设计.ppt
Android客户端设计 图16 .android.score包下各文件说明 .android.score包存放所有的功能界面,处理各种业务逻辑,是"豹考通"客户端的核心,该包下所 ...
- 高仿人人android梦想版终极源码发送,人人Android客户端梦想版发布
人人网梦想版for Android 5.0.1下载(人人网Android客户端) 人人网今天发布Android客户端"梦想版",新版更新的"私信"功能与微信等聊 ...
- Android 客户端与服务端的数据交互问题
Android客户端是如何与服务端的数据进行交互的呢? 一般就是客户端向服务端发送请求,服务端对数据进行相关处理,返回json数据返回给客户端,客户端再进行相关操作. 说明:主要是用登录功能来进行详解 ...
最新文章
- python使用方法-六、python 方法的使用
- 错误:wasm streaming compile failed: CompileError: AsyncCompile: Wasm decoding failed
- CentOS7中怎样安装JDK与配置环境变量
- mysql数据类型优化
- 2021牛客暑期多校训练营7 J-xay loves Floyd(最短路+bitset优化集合交)
- “约见”面试官系列之常见面试题之第九十三篇之vue获取数据在哪个周期函数(建议收藏)
- BaseColumns类的作用
- python刘卫国实验题_MATLAB 程序设计与应用(刘卫国版)习题答案3-4
- 全国院线总票房破 50 亿!影院复工后,哪些电影最受欢迎?
- nodemon运行 提示错误:无法加载文件 C:\Users\gxf\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁止运行脚本。...
- Xeen的Source Safe 备份
- AHP(层次分析法)的全面讲解及python实现
- 2021网安保研之路-----中科院信工所
- 腾创秒会达MHD-CHD40A 20倍光学变焦摄像机
- 游戏反外挂的难点和破局之路
- 26、流程引擎API
- 影响计算机网络性能的原因,计算机网络传输效率分析论文
- 文件上传漏洞靶场upload-labs学习(pass1-pass5)
- 通达信客户端程序化下单
- java dispo lock_java