Android字典应用程序

Android字典应用程序,android,database,android-studio,dictionary,Android,Database,Android Studio,Dictionary,我将创建一个android字典应用程序,目标是将我的母语(扎扎基语)翻译成土耳其语。 我有两份文件,格式如下: 扎扎基到土耳其语单词文档 禁止:电动汽车==>回家 从土耳其语到扎基语 ev:ban,çe==>主页 在我看来,首先以冒号前的单词为键,冒号后的单词为值。 然后将其放入数据库 我的问题是: “是否每次都必须执行此操作? 如何通过不将word列表文档导入我的数据库而使此数据库每次下载都可用?首先,如果您有excel,通过按“”拆分并删除不需要的结果列,将word文档创建到数据库中是非常容

我将创建一个android字典应用程序,目标是将我的母语(扎扎基语)翻译成土耳其语。
我有两份文件,格式如下:

扎扎基到土耳其语单词文档 禁止:电动汽车==>回家

从土耳其语到扎基语 ev:ban,çe==>主页

在我看来,首先以冒号前的单词为键,冒号后的单词为值。
然后将其放入数据库

我的问题是:
“是否每次都必须执行此操作?

如何通过不将word列表文档导入我的数据库而使此数据库每次下载都可用?

首先,如果您有excel,通过按“”拆分并删除不需要的结果列,将word文档创建到数据库中是非常容易的。然后,您可以将其导出到.csv文件中

根据您的请求,我将使用以下伪代码作为代码指南:

int currIndex = 0;
string key, value;
while(!EndOfFile){
    currIndex = find('=');
    key = getWordBeforeCurrentIndex();
    currIndex = find('>');
    value = getWordAfterCurrentIndex();
    myDictionary.Add(key, value);
}
把它变成真正的代码,瞧,你有了一个应用程序,可以将文档解析到字典中

如果您知道您的文档的格式如下:

电动汽车==>回家

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));
}
Dictionary myDict=new HashTable();
InputStream wordDictionary=getResources().openRawResource(R.raw.wordDictionary);
DataInputStream myDIS=新的DataInputStream(wordDictionary);
ArrayList行=新的ArrayList();
弦线;
//将文档读入arraylist:
while((myLine=myDIS.readline())!=null)list.add(myLine);
//每行加左字为键,右字为值:
foreach(行:行){
add(line.substring(0,line.indexOf(“”),line.substring(line.indexOf(“”),line.indexOf(“”+1));
}

我应该将word文档添加到资源中吗?要么添加到资源中,要么将其放入文件系统并在那里找到。谷歌应该“android从系统读取文件”吗因此,既然我现在想不出这个函数^^为什么不使用一个预填充的数据库并将其与应用程序一起发布呢?您只需要两个表,其中包含单词和它们的唯一ID(每种语言一个表)和一个连接表之间ID的连接器表。因此,您将建立一个双向多对多关系。我检查您关于预填充数据库的回答。在这种情况下,我应该使用2个数据库吗?不。一个数据库可以包含任意数量的表。