2016-09-09 2 views
-1

母国語(ザザキ語)をトルコ語に翻訳することを目指して、アンドロイド辞書アプリケーションを作成します。
私は以下のような形式を持っている2つの文書があります。Android Dictionary app

ザザキ語、トルコ語のドキュメント 禁止へ:EV ====>ホーム

ザザキ語 EVにトルコ語:禁止、CE ===を> home

私の考えでは、コロンの前の言葉をキーとして、コロンの後に値をとってください。
それをデータベースに入れます。

私の質問です:
は「?私はすべての時間のため、この操作を行う必要があります
どのように私は私のデータベースに単語リストのドキュメントをインポートしないことにより、すべてのダウンロードのために、このデータベースを利用できるようにすることができますか」?

+0

プリペアされたデータベースを持っていなくて、代わりにあなたのアプリを出荷してみませんか?単語とその一意のID(言語ごとに1つの表)と表の間にIDを接続するコネクタ表を持つ2つの表のみが必要です。つまり、双方向の多対多の関係を作ります。 –

+0

私はあなたの答えを事前に満たされたデータベースについて調べます。その場合、2つのDBを使用する必要がありますか? – erdemhayir

+0

NO。 1つのデータベースに任意の数のテーブルを含めることができます。 –

答えて

1

最初にExcelを持っているならば、不要な結果の列を ''で分割して削除することで、データベースに単語文書を作成するのは簡単です。その後、エクスポートすることができます。 .csvファイルに保存します。あなたの要求のために

、私は私のコードのためのガイドとして、次の擬似コードを使用します。

int currIndex = 0; 
string key, value; 
while(!EndOfFile){ 
    currIndex = find('='); 
    key = getWordBeforeCurrentIndex(); 
    currIndex = find('>'); 
    value = getWordAfterCurrentIndex(); 
    myDictionary.Add(key, value); 
} 

実際のコードと出来上がりにそれを作る - あなたは自分で辞書に文書を解析アプリを得ました。

あなたの文書のような正確な形式があることがわかっている場合:

EV ====>ホーム

WORD2 ===>なTranslation2

WORD3を===> translation3

もちろんのレバレッジこれとは行くことができます

Dictionary myDict = new HashTable<string, string>(); 
InputStream wordDictionary = getResources().openRawResource(R.raw.wordDictionary); 
DataInputStream myDIS = new DataInputStream(wordDictionary); 

ArrayList<string> lines = new ArrayList<Lines>(); 
string currLine; 
//Read document into arraylist: 
while((myLine=myDIS.readline())!=null) list.add(myLine); 
//Take each line, add left word as key, add right word as value: 
foreach(line : lines){ 
    myDict.add(line.substring(0, line.indexOf(" ")), line.substring(line.indexOf(" ", line.indexOf(" ")+1)); 
} 
+0

私はリソースにワードドキュメントを追加する必要がありますか? – erdemhayir

+0

どちらか、それをファイルシステムに入れて見つけてください。私はその機能を今考えることができないので、私は – Squirrelkiller

+0

ありがとうたくさんありがとうございました。私はそれを試みます。宜しくお願いします – erdemhayir