0
我是一種學習android ...我想知道是否有方法從android用戶中隨機存取3個字母單詞或4個字母單詞或某些指定類型的單詞Dictionary類考慮到android有一個自動糾正功能的事實,我猜它也有一個字典...因此我該如何使用它...我在哪裏可以找到一個合適的教程?從android詞典中獲取隨機單詞
我不知道代碼的想法......周圍有很多搜索...請幫助我的代碼,同時也有可能的解釋:)
我是一種學習android ...我想知道是否有方法從android用戶中隨機存取3個字母單詞或4個字母單詞或某些指定類型的單詞Dictionary類考慮到android有一個自動糾正功能的事實,我猜它也有一個字典...因此我該如何使用它...我在哪裏可以找到一個合適的教程?從android詞典中獲取隨機單詞
我不知道代碼的想法......周圍有很多搜索...請幫助我的代碼,同時也有可能的解釋:)
我不知道如何訪問Android詞典,但您可以在應用的資產文件夾中將「自定義」字典作爲txt文件。這link有幾個單詞列表從20000字左右200,000字。你可以找到更多的名單與谷歌。
之後,您可以讀取txt文件並將其添加到數組列表中,如果它與字長相匹配。隨後可以從詞典列表中選擇一個隨機單詞。以下代碼將創建字典並從中選擇一個隨機單詞。
private ArrayList<String> dictionary;
private int wordLength; //Set elsewhere
private void createDictionary(){
dictionary = new ArrayList<String>();
BufferedReader dict = null; //Holds the dictionary file
AssetManager am = this.getAssets();
try {
//dictionary.txt should be in the assets folder.
dict = new BufferedReader(new InputStreamReader(am.open("dictionary.txt")));
String word;
while((word = dict.readLine()) != null){
if(word.length() == wordLength){
dictionary.add(word);
}
}
} catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
dict.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//Precondition: the dictionary has been created.
private String getRandomWord(){
return dictionaryList.get((int)(Math.random() * dictionaryList.size()));
}