我是第一次在Android上使用数据库,但有一点我不确定。
需要在应用中创建数据库;这意味着我需要给出一些"时间"到这个数据库的创建/初始化。这个时间可能很长,具体取决于我需要存储的数据量,我想知道,我们真的需要在合适的应用程序中创建数据库吗?
我的意思是,最好只创建一个虚拟应用程序,它将创建并初始化我的数据库,恢复它并将其放入我的真实应用程序,如果我的数据库只是用来读?
我不明白的另一件事是,因为创建属于一个应用程序,这意味着我每次启动应用程序时都要检查数据库是否已经存在,对吧?
您如何为数据库提供信息?您是否将所有数据存储在外部文件中,然后将其转换并在数据库中使用它? (JSON?)
如果是这样,在我只需要阅读信息的情况下使用数据库的重点是什么,我可以对基本文本文件做同样的事情,例如在值ressource中使用XML或在.json中使用XML。原料
答案 0 :(得分:2)
您可以创建一个用于管理数据库的类,也可以创建一个SqliteOpenHelper类来介绍您的类,之后您应该实现onCreate和onUpgrade方法,它将使用指定的名称创建一次数据库。每次用户进入您的应用程序时都无需担心现有数据库
答案 1 :(得分:2)
回答1
每个应用都必须拥有数据库。这取决于应用程序应该做什么 即使可以使用虚拟应用程序为真实应用程序创建数据库,这又如何节省工作时间?应始终加载,以便时间总是“丢失” 是的,在第一次启动时,您的应用程序将创建数据库,然后仅“打开”数据库以供其使用。
回答2
存储初始数据的位置取决于您实际拥有数据的位置。当然,您可以创建您喜欢的类型的文件 例如,当您必须查询数据库以通过一组数据提取信息时,数据库非常有用。它的运行速度也非常快。如果您的文件非常大,则每次搜索都会非常慢,并且您的应用程序性能对每个用户都是不可接受的。
答案 2 :(得分:1)
使用SQLite数据库相对简单,您不必担心它。
通常关于简单应用的SQLite:
有一个单独的类负责管理您的数据库。此类扩展了SqliteOpenHelper,这意味着您需要覆盖一些负责创建表的默认方法。但这种方法是由系统调用的,而不是你,所以不必担心它们。您可以对它们进行一次配置,以便系统知道您在表中需要哪种列,以及所有列。
您需要将自己的方法添加到将从现有数据库添加/删除/更新/检索数据的同一个类中。这些是您将使用的主要方法。
根据上面所述,您可以看到您不需要检查数据库是否存在。系统为您处理。您只能使用更改数据集的方法。当然,您可以添加任意数量的方法来检查数据库中的许多内容并使您的工作复杂化。
回答1:
我已经在我的应用程序中实现了SQLite,并且运行速度非常快。当然,如果数据太大,您可能会有更长的时间来处理数据。在这种情况下,您需要在后台运行与SQLite数据库相关的所有进程,因此您的用户界面不会被冻结。
关于创建一个虚拟应用程序只是为了保存你的SQLite数据库,在我看来并不是一个好主意。没有足够的经验来判断它是否可行,但如果你这样做,你需要等到该应用程序启动然后处理你的数据。
回答2:
首先需要确定要存储的数据类型。 SQLite非常适合存储文本和数字。如果你想存储图像,你显然需要使用不同的方法。
我认为您首先需要浏览一些关于SQLite的教程并熟悉它。然后,您将清楚地了解使用SQLite数据库可以执行的操作以及如何使用它。一个好的开始就是:https://thenewboston.com/videos.php?cat=6&video=16832