我正在创建一个需要访问圣经的 Android 应用程序。我希望它离线,所以我不喜欢使用其中一种互联网 API。读完这篇文章后,我决定将文本本地存储为 XML,就像这样
<bible>
<b n="Genesis">
<c n="1">
<v n="1">In the beginning, God created the heavens and the earth.</v>
我的问题是该文件几乎有 34,000 行长(4.4 MB),并且解析整个文本需要很长时间(几分钟)。
现在我正在使用 XmlPullParser,就像这样
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser();
InputStream iStream = getResources().openRawResource(R.raw.bible);
BufferedReader reader = new BufferedReader(new InputStreamReader(iStream));
xpp.setInput(reader);
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT)
{
// do something here
eventType = xpp.next();
}
有没有更好的方法在 Android 上本地存储和/或访问圣经?
我考虑将它存储为多个 XML 文件以更快地解析它(每本书一个单独的文件),但如果可能的话,我不希望这样做。
我愿意接受任何建议,包括将文本存储为 XML 以外的其他内容。
谢谢