如何制作一个让用户先将基本文件安装到 运行 应用程序,然后再下载所有数据的应用程序?

How to make an app letting users install basics files to run the app first, then download all the data later?

我正在制作一个有声读物播放器应用程序来播放我最喜欢的作者的所有有声读物文件 (mp3)。

我正在使用 SQLite 来存储数据;它在本地设备上运行良好。

现在我想改进它,以便我可以将它发布到 Play 商店(但该应用程序有 23gb 的数据)。音频文件存放在哪里,用户安装应用后可以下载音频文件吗?

欢迎来到 Android 世界!!

简答:

将数据放入云数据库中,并在用户选择时获取每本有声读物。例如(Google Firestore or Amazon Cloud Storage)

解释答案:

一些应用程序作为设备中的实用程序与用户交互(如提醒应用程序、照片库应用程序、PDF Reader 应用程序等)。这些应用程序不需要任何大型数据库作为后端,因此这些应用程序可以将其数据库作为 SQLite 或 Room 数据库存储在移动设备本身中。

另一方面,有一些应用程序作为客户端与非常大的数据库进行交互(如 YouTube 应用程序、Amazon Prime 视频应用程序、任何银行应用程序等)。 于是云数据库的概念就产生了。要与数据库通信,您需要一些称为 API 的机制。

现在您有两个选择,要么创建您自己的数据库(一台计算机作为服务器和数据库)和 API 来与您的数据库通信,要么使用现有的解决方案。

Google/Amazon 和许多其他公司正在提供云数据库解决方案,并且许多公司已经在使用它,例如 Twitter、Netflix、Amazon Shopping、Facebook 等。使用这些解决方案,您可以在他们的终端创建数据库并他们将为您提供 API 以从您新建的数据库中获取数据。

如果您刚开始从事移动开发,那么我建议您首先了解有关 API 的更多信息。您可以从一个已经存储数据的现有数据库开始,您可以简单地调用 API 以 JSON 格式从数据库中获取数据。这种用于学习 API 调用和处理数据库的数据库的一个很好的例子是 TMDB (The Movie Database). They have a large database on movies worldwide and you can interact and get data from their database for free in JSON format and create an application like IMDB or like this.

如果你完成了这个学习曲线,我相信你将能够自己回答这个问题。一旦您知道如何与云中的数据库交互,您就可以选择不同公司的所需解决方案,并且能够根据用户请求在您的应用程序中存储和获取您的有声读物,而无需在您的应用程序中存储任何数据。

编码愉快!!