gpt4 book ai didi

android - 在应用程序和小部件之间共享数据库

转载 作者:搜寻专家 更新时间:2023-11-01 08:36:13 26 4
gpt4 key购买 nike

我开发了一个应用:

  • 用于在 sqlite 数据库中插入一些数据的按钮
  • 显示和更新 sqlite 数据库记录的一些 View

现在我想编写一个简单的小部件,它只执行应用程序按钮操作:在 SAME sqlite 数据库中插入一些数据。目标是在不打开应用程序的情况下使用小部件进行快速插入,并在我需要更复杂的操作时使用应用程序。

  1. 小部件是正确的方法吗?
  2. 是否可以在应用程序(真正的所有者)和小部件之间共享同一个数据库?怎么样?
  3. 我需要一个 contentProvider 吗?

谢谢

最佳答案

is it possible to share the same db between the app (the real owner) and the widget?

是的。

how?

通常,应用小部件只是应用的一部分。您使用它与使用 Activity 或 fragment 或其他任何东西没有什么不同,因为它都是一个应用程序。

不过请记住,AppWidgetProvider 方法(如 onUpdate())是在主应用程序线程上调用的。在 Activity 中,您可能只使用裸线程来执行数据库 I/O,这没关系,因为您的应用程序在前台。但是,对于应用程序小部件更新,您的应用程序可能会在后台运行,并且您的进程可能不会存活很长时间。使用 IntentService 执行数据库 I/O(由 onUpdate() 启动)并更新应用小部件内容。

do I need a contentProvider?

仅当您希望您的应用程序小部件与其余应用程序代码位于单独的应用程序中时。通常,这不是一个好主意,因为用户必须安装两个应用程序(主应用程序加上应用程序小部件应用程序)。

关于android - 在应用程序和小部件之间共享数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36409298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com