如何每天在应用程序(SQLite)和网络服务之间同步一次并多次同步?

How to downsync once and upsync multiple times between app (SQLite) and webservice on a daily basis?

我想开发一个 android 应用程序。我希望这个应用程序每天在特定时间从网络服务调用下载数据(SQL 行作为 JSONArray),比如早上 8 点。但是,如果早上 8 点之前没有互联网,我希望应用程序在互联网可用后触发下载(网络服务调用)。我将此过程称为下同步(每天一次)。

下同步完成后,我想要一个后台 process/service/thread,它会持续检查下载的数据(SQL-android 应用程序中的 Lite 行)是否更改了行。 每当更改一行时,如果互联网处于活动状态,我希望 service/process/thread 以 JSONArray 的形式使用修改后的数据调用 Web 服务。如果互联网不活跃,一旦互联网可用,服务就会继续。让我称之为上同步。

此上同步必须继续进行,直到更改所有行或直到一天结束。

我希望我的应用程序的整个上同步和下同步周期每天重复一次。 Web 服务 logics/Algorithm 不是必需的。我想要从 android 角度来看的方法。

我搜索了很多问题。这似乎是重复的。但是到目前为止,这里没有其他问题可以解决所有这些要求。任何算法、方法或参考资料 link 将不胜感激。

提前致谢。

听起来像是 sync adapter 的完美用例,您可以阅读它并尝试此处给出的示例 https://developer.android.com/training/sync-adapters/creating-sync-adapter.html 创建同步适配器 | Android 开发者

另外,如果你很灵活,你可以查看 firebase 数据库,前提是你的后端很灵活,否则请使用适用于像你这样的用例的同步适配器