私はアンドロイドサンプルを試しています。辞書リスト(データベース)を変更する方法が不思議です。私はデータベースファイルを見つけることができません。生のフォルダにはdefinitions.txtがありますが、これを修正しようとしましたが、検索結果に影響しないようです。検索可能な辞書のリストを編集するには?
助けてください。
多くのありがとう。
私はアンドロイドサンプルを試しています。辞書リスト(データベース)を変更する方法が不思議です。私はデータベースファイルを見つけることができません。生のフォルダにはdefinitions.txtがありますが、これを修正しようとしましたが、検索結果に影響しないようです。検索可能な辞書のリストを編集するには?
助けてください。
多くのありがとう。
android-sdk_r15-windows\android-sdk-windows\samples\android-10\SearchableDictionary\res\raw
にあるdefinitions.txtに変更を加えていると思います。 Eclipseでプロジェクトを開くと、プロジェクトはそのワークスペースにコピーされます。正しい場所は<user>\workspace\SearchableDictionary\res\raw
*非常に遅い返信です。おそらくあなたは自分ですべての答えを見つけられたでしょう。しかし、SOのバランスを維持し、同様の状況の人々を助けるために私はあなたの質問に答えています。
私はこの問題は、辞書を一度だけロードされているという事実から来ていると思う:
private void loadDictionary() {
new Thread(new Runnable() {
public void run() {
try {
loadWords();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}).start();
}
をだから、それはあなたが変更を行ったことは重要ではありません、それはそれをもう一度ロードしません。あなたがアプリをアンインストールして再インストールしない限り。私はしかし、どのように修正する方法を知っている(私はまだアプリケーションを開発している)、毎回辞書をロードするコードを変更する方法、私は解決策にも興味があるだろう。
編集:Scottとnikosが答えたように、単にデータベースのバージョンを増やすだけで動作することを確認します。ありがとうございました!
データベースのバージョンを増やすと、onUpgrade()
メソッドが呼び出されるはずです。
DictionaryDatabase.java
データベースのバージョンを変更してください。 私は3 private static final int DATABASE_VERSION = 3;
に変更しました 私はdefinitions.txtファイルを更新しました。プロジェクトを再コンパイルした後、正常に動作します