0

Google スプレッドシートに単語とその定義の長いリストがあります。このデータをコンテンツ プロバイダにロードするには、どのような方法が最適でしょうか。

4

1 に答える 1

1

SDK サンプルから「検索可能な辞書」と呼ばれる Android サンプル プロジェクトをチェックアウトする必要があります。サンプルは、Android SDK マネージャーを使用してダウンロードできます。サンプルは、達成しようとしているものと同様のことを行います。

リソースの下の「raw」というフォルダーに、単語とその定義を含む definition.txt というファイルがあります。次に、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 に答える