所以,我有一个应用程序,我想存储一大串字符串,我希望它随应用程序一起提供。在Android的onCreate方法中,我应该只拥有一个巨大的(几百行)String []初始化器吗?有一个更好的方法吗?
我正在考虑创建自己的这些对象(它们被分组一点)并以这种方式存储它,但是仍然包括将大量字符串实例化到数组中。有没有什么方法可以让我已经创建了这个?有更好的方法吗?
答案 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)?