Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否有一种方法可以在应用程序关闭时提取数据并将其存储在数据库中?_Android - Fatal编程技术网

Android 是否有一种方法可以在应用程序关闭时提取数据并将其存储在数据库中?

Android 是否有一种方法可以在应用程序关闭时提取数据并将其存储在数据库中?,android,Android,我正在开发新闻阅读器应用程序,现在我想实现以下目标: 每天一次,当有互联网连接或在特定时间(例如23.00),我的应用程序将获取所有新新闻,然后将其存储在数据库中。在应用程序内部,我使用mvvm模式对其进行改造以获取和存储空间。我该怎么做?非常感谢您的建议。您可以通过安卓系统中的服务来实现这一点。安卓系统具有以下功能- 前景 前台服务执行一些用户可以注意到的操作。例如,音频应用程序将使用前台服务播放音频曲目。前台服务必须显示通知。即使用户没有与应用程序交互,前台服务也会继续运行 背景 后台服务执

我正在开发新闻阅读器应用程序,现在我想实现以下目标:
每天一次,当有互联网连接或在特定时间(例如23.00),我的应用程序将获取所有新新闻,然后将其存储在数据库中。在应用程序内部,我使用mvvm模式对其进行改造以获取和存储空间。我该怎么做?非常感谢您的建议。

您可以通过安卓系统中的服务来实现这一点。安卓系统具有以下功能-

前景

前台服务执行一些用户可以注意到的操作。例如,音频应用程序将使用前台服务播放音频曲目。前台服务必须显示通知。即使用户没有与应用程序交互,前台服务也会继续运行

背景

后台服务执行用户没有直接注意到的操作。例如,如果一个应用程序使用一个服务来压缩它的存储,那通常是一个后台服务

您可以在下面的链接中阅读更多关于此的信息-


您可以通过在中使用弹性周期来实现这一点。 例如,如果希望在重复间隔结束时的15分钟内(比如8小时)运行Worker,代码如下所示:

val periodicRefreshRequest = PeriodicWorkRequest.Builder(
            RefreshWorker::class.java, // Your worker class
            8, // repeating interval
            TimeUnit.HOURS,
            15, // flex interval - worker will run somewhen within this period of time, but at the end of repeating interval
            TimeUnit.MINUTES
    )

服务不是一个好方法,因为你必须一直运行它。最好的解决方案是内容提供商/内容解析器。为什么我们必须一直运行而不需要任何时间。每当你完成工作时,你可以停止服务。就这么简单。@Hanzala我能用内容提供商实现我想要的一切吗?解释一下所有使用的工作此任务的管理器或作业计划程序。每次在后台运行服务都是错误的方法。