应用程序发布后更新内部SQLite数据库

时间:2017-01-17 00:00:46

标签: android sqlite android-sqlite

我是AndroidStudio的新手,想要创建自己的项目。 我的问题是:

  1. 您可以在重新发布应用程序之外更新数据库吗?

    • 说我发布了应用程序,数据库当前是空的。然后我想添加一些数据如何在不更改基本源代码或重新开发应用程序的情况下将此数据添加到数据库?我正在使用SQLite。
  2. 我想将此应用程序发布为网络应用程序。那就是我希望所有用户都能从"空"中查看相同的信息。数据库和填充的任何内容。你们能给我一个网络应用程序/他们的要求的方向或最低功能的例子。我以前从未使用或开发过它们。

    END_RESULT:

    • 用户应下载应用(此应用),并能够收集添加到其Feed的新闻。
      • 维护人员应该能够合理地通过数据库添加/填充应用程序,而无需在每次添加新材料时重新部署应用程序。

3 个答案:

答案 0 :(得分:0)

是的,如果您添加实时数据库,则可以。

这是一个托管在服务器上而不是直接在手机上的数据库,它可以将信息推送到客户端以同步它们上的新数据。

否则,您需要更新应用以获取新内容。

实现这一目标的一个很棒的工具是Firebase。

https://firebase.google.com/docs/database/

答案 1 :(得分:0)

这是一个非常广泛的问题,因此很难提供具体的答案。你在重新发布应用程序之外更新数据库是什么意思' ?

  1. 您的意思是更新数据库架构 - 是的,可以这样做。

  2. 将数据放入数据库 - 是的,拥有数据库的应用程序可以根据它的业务逻辑随时进行。这意味着插入数据的源代码应该已经嵌入到已发布的应用程序中。只有应该即时决定的是何时执行此代码。 通常,对于联网的应用程序,在应用程序启动时刷新数据是一种常态。这意味着您可以在应用程序的主屏幕启动中进行网络呼叫,并下载您想要下载的任何内容并将其放入数据库。您的维护人员可以将数据放在服务器上,让应用程序下载它。

  3. Android拥有大量网络库,选择取决于您下载的内容类型。将建议试用Volley(来自谷歌的官方)和Retrofit(如果你想要一些更光滑的东西)

答案 2 :(得分:0)

您必须实现应用程序与之通信的某种服务器后端才能下载新数据。应用程序必须已经具有如何处理该数据并将其本地存储在SQLite中的逻辑,但这可以相当简单。至于如何同步或下载新数据,有几种可能性。

  1. 应用启动时执行同步。如果您正在使用其他(定期)机制,则可能会也可能不想这样做。
  2. 安排与JobScheduler的定期同步。这是一个很好的做法,因为JobScheduler不必在特定时间运行您的任务,它可以在特定时间窗口内运行它,以便您的任务与需要运行任务的其他应用程序重合。由于您的任务会启动无线电并发出网络请求,因此系统可以让其他需要无线电的应用程序同时运行,以减少无线电唤醒次数(从而提高电池效率)。
  3. 实施Google云消息传递,以便后端可以向您的应用发送推送通知,您的应用可以将其作为执行同步的信号接收。
  4. 请注意,您并不仅限于其中一项。