在android中向sqlite数据库添加静态数据
我有超过5 MB的android应用程序字符串。我想将它存储在我的应用程序中并使用它。我有两个选择:在android中向sqlite数据库添加静态数据,android,sqlite,Android,Sqlite,我有超过5 MB的android应用程序字符串。我想将它存储在我的应用程序中并使用它。我有两个选择: 我可以使用字符串数组 我可以使用sqlite 目前,我正在使用字符串数组 有人建议我使用sqlite。所以,我研究了sqlite。我现在可以从sqlite保存和获取数据了。但是,我有一些问题 因为数据是静态的,所以我需要把它放在sqlite数据库中。为此,我必须以字符串和sqlite格式保存数据。使用sqlite意味着相同的字符串数据存在于两个位置。我怎样才能从中省钱 所以,要存储静态数据,最好
字符串数组
字符串数组
有人建议我使用sqlite。所以,我研究了sqlite。我现在可以从sqlite保存和获取数据了。但是,我有一些问题
因为数据是静态的,所以我需要把它放在sqlite数据库中。为此,我必须以字符串和sqlite格式保存数据。使用sqlite意味着相同的字符串数据存在于两个位置。我怎样才能从中省钱
所以,要存储静态数据,最好使用sqlite数据库吗?使用sqllite shell,您可以在计算机上创建数据库文件,并将其存储在应用程序的“资产”文件夹下
所以你应该这样做:
sqlite3 assets/databases/mydb.db
sqlite> create table //(here put your creating table script)
and insert string values.
之后,您可以使用此库在应用程序中使用它
但是,我认为在资产中使用字符串数组或原始文本文件是更好的方法,因为它允许您在不生成新版本的数据库文件的情况下更改内容。使用sqlite是否有意义取决于您将如何处理数据。如果您打算搜索它或对其应用过滤器,以便只获取数据的某些部分,那么使用数据库是有意义的。如果它只是一堆字符串,比如故事或文档,那么可以使用字符串数组,也可以将一个简单的文本文件放在assets文件夹中 如果你仍然想使用数据库,有几种方法可以将一个预填充的数据库(最终只是一些文件)放入你的资产文件夹,并在应用程序第一次启动时将其移动到专用数据库存储中。这样,您就不需要像您描述的那样将数据重复两次
关于如何使用预填充的数据库,请参见,例如,搜索stackoverflow;这个话题我已经遇到好几次了。你真的需要用5 MB的文本来填满内存,还是可以随时显示所需的信息?对不起,来晚了。这基本上是一本书。这本书分为章节和诗句。我在xml表单中对其进行了更改。所以,我需要显示所有文件。我宁愿搜索一首诗,然后找到并显示相关章节。这对我来说更有意义。是的,但在这种情况下搜索和过滤需要时间。