Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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
Java 使用应用程序预加载数据的最佳方式是什么?_Java_Android_Preload - Fatal编程技术网

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

Java 使用应用程序预加载数据的最佳方式是什么?,java,android,preload,Java,Android,Preload,所以,我有一个应用程序,我想用它来存储一系列字符串,我希望它与应用程序一起发布。在Android的onCreate方法中,我应该有一个巨大的(几百行)字符串[]初始值设定项吗?有更好的方法吗 我在考虑创建我自己的这些对象(它们被稍微分组)并以这种方式存储,但这仍然包括将大量字符串实例化到一个数组中。有没有什么方法可以让我已经创建了?有更好的方法吗?您可以在后台使用AsyncTask(单独的线程)完成此操作。像这样: private class InitializeString extends A

所以,我有一个应用程序,我想用它来存储一系列字符串,我希望它与应用程序一起发布。在Android的onCreate方法中,我应该有一个巨大的(几百行)字符串[]初始值设定项吗?有更好的方法吗


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

您可以在后台使用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) {}
}
私有类初始化扩展异步任务{
@凌驾
受保护的void doInBackground(void…参数){
//做你的工作
}
@凌驾
受保护的void onPostExecute(void…params){}
@凌驾
受保护的void onPreExecute(){}
@凌驾
受保护的void onProgressUpdate(void…params){}
}
还有,名字重要吗?您只需创建字符串的ArrayList,如下所示:

ArrayList<String> myListOfStrings = new ArrayList<String>();
myListOfStrings.add("String 1");
myListOfStrings.add("String 2");
  ...
ArrayList myListOfStrings=new ArrayList();
添加(“字符串1”);
添加(“字符串2”);
...

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

如果只有几百行,我不会太担心自己。您可以对它们进行“硬编码”,创建几百个字符串,或者将它们放在由构造函数读入的辅助“平面文件”中。不管怎样,结果都是几百个字符串

对于速度-硬编码他们


前一个问题讨论了如何为单独的对象执行此操作

如果数据不太多,可以将其存储在strings.xml文件中