2016-05-31 103 views
0

我正在开发一个应用程序,安装后必须将大量数据(大约5 Mb)插入到数据库中。但在开始插入数据之前,第一个应用程序必须在某处获取这些数据。为此,我创建了一个将所有数据存储到数组中的类。下面我举一个例子:Android。如何正确存储数据库的数据?

public class Data { 
    public static String[] table_1 = {"text1","text2","text3","text4"..."text500"}; 
    public static String[] table_2 = {"text1","text2","text3","text4"..."text356"}; 
    public static String[] table_3 = {"text1","text2","text3","text4"..."text485"}; 
.......................... 
    public static String[] table_35 = {"text1","text2","text3","text4"..."text267"}; 
} 

onCreate(),通过应用这些阵列和将数据插入到数据库中循环。但在这里我遇到的问题叫:错误:代码太大。我知道导致问题的原因是Data类,因为代码被限制为64K字节。我想在两个班级之间分开数据,但我认为它不是一个好主意。

所以,我的问题是如何正确地存储数据库的数据。你在这种情况下可以提供什么建议?

+0

您是否考虑将数据写入CSV文件,并实现读取数据并将数据存储为应用程序“第一次运行”的一部分? – alfasin

+0

是的,我考虑过它,但我怎么会决定桌子的长度。有了数组,我可以获得数组的长度,从而控制我的插入,当第一个数组完成时,我开始从第二个数组插入第二个表数据,依此类推。 – gigs

+0

您可以使用多个csv/xml/json文件来读取数据,以防出于某种原因需要进行分区(我不明白为什么)。 – alfasin

回答

0

您可以从XML文件加载该内容,并且一旦加载完成插入语句。

0

两种方式:

  1. 负载从互联网内容,并将其存储在本地SQLite数据库。

  2. 创建一个文件例如带有JSON字符串的XML或Txt文件。将其放入APK中并在应用程序中加载该文件并保留文本。但也许不需要在数据库中保留该文本,因为您也可以将xml文件用作静态数据存储。