Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中向sqlite数据库添加静态数据_Android_Sqlite - Fatal编程技术网

在android中向sqlite数据库添加静态数据

在android中向sqlite数据库添加静态数据,android,sqlite,Android,Sqlite,我有超过5 MB的android应用程序字符串。我想将它存储在我的应用程序中并使用它。我有两个选择: 我可以使用字符串数组 我可以使用sqlite 目前,我正在使用字符串数组 有人建议我使用sqlite。所以,我研究了sqlite。我现在可以从sqlite保存和获取数据了。但是,我有一些问题 因为数据是静态的,所以我需要把它放在sqlite数据库中。为此,我必须以字符串和sqlite格式保存数据。使用sqlite意味着相同的字符串数据存在于两个位置。我怎样才能从中省钱 所以,要存储静态数据,最好

我有超过5 MB的android应用程序字符串。我想将它存储在我的应用程序中并使用它。我有两个选择:

  • 我可以使用
    字符串数组
  • 我可以使用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表单中对其进行了更改。所以,我需要显示所有文件。我宁愿搜索一首诗,然后找到并显示相关章节。这对我来说更有意义。是的,但在这种情况下搜索和过滤需要时间。