使用应用程序预加载数据的最佳方法是什么?

时间:2014-09-03 21:05:27

标签: java android preload

所以,我有一个应用程序,我想存储一大串字符串,我希望它随应用程序一起提供。在Android的onCreate方法中,我应该只拥有一个巨大的(几百行)String []初始化器吗?有一个更好的方法吗?

我正在考虑创建自己的这些对象(它们被分组一点)并以这种方式存储它,但是仍然包括将大量字符串实例化到数组中。有没有什么方法可以让我已经创建了这个?有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以在后台使用AsyncTask(单独的线程)执行此操作。像这样:

private class InitializeString extends AsyncTask<Void, Void, Void> {

    @Override
    protected void doInBackground(Void... params) {

        //do your initializing

    }

    @Override
    protected void onPostExecute(Void... params) {}

    @Override
    protected void onPreExecute() {}

    @Override
    protected void onProgressUpdate(Void... params) {}
}

另外,名字是否重要?你可以像这样创建一个字符串ArrayList:

ArrayList<String> myListOfStrings = new ArrayList<String>();
myListOfStrings.add("String 1");
myListOfStrings.add("String 2");
  ...

如果字符串值是硬编码的并且没有动态添加,您也可以将它们全部添加到strings.xml文件中。

答案 1 :(得分:0)

如果它只有几百行,我就不会太在意自己了。你可以“硬编码”它们,创建几百个字符串,或者将它们放在由构造函数读入的辅助“平面文件”中。无论哪种方式,结果都是几百个字符串......

速度 - 硬编码。

上一个问题对单独对象的“如何”进行了一些讨论... how do i preload a hashmap in an object(without put method)?