我在 Google 电子表格中有一长串单词及其定义。将这些数据加载到内容提供者中的最佳方式是什么。
问问题
76 次
1 回答
1
您应该从 sdk 示例中查看名为“Searchable Dictionary”的 Android 示例项目。您可以使用 Android sdk 管理器下载示例。该示例执行的操作与您尝试完成的操作类似。
他们有一个名为 definitions.txt 的文件,其中包含单词及其定义,位于资源下名为“raw”的文件夹中。然后在他们的 SqliteOpenHelper 类中,他们在单独的线程中加载 onCreate 方法中的单词。
这是他们正在运行的方法的片段。
private void loadWords() throws IOException {
Log.d(TAG, "Loading words...");
final Resources resources = mHelperContext.getResources();
InputStream inputStream = resources.openRawResource(R.raw.definitions);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
String line;
while ((line = reader.readLine()) != null) {
String[] strings = TextUtils.split(line, "-");
if (strings.length < 2) continue;
long id = addWord(strings[0].trim(), strings[1].trim());
if (id < 0) {
Log.e(TAG, "unable to add word: " + strings[0].trim());
}
}
} finally {
reader.close();
}
Log.d(TAG, "DONE loading words.");
}
于 2013-03-13T16:45:30.657 回答