我正在使用Android Sqlite进行一些实验。所以基本上,我正在做一个应用程序,让用户输入一些句子,应用程序应显示模糊的单词(即具有多个含义的单词)。我有一个表tblWords(字段是:_id,单词,含义) 在每个单词中,有两个含义,如 break
例如:
TblWords
_id单词含义
1 BREAK中断正在进行的活动的突然事件
2 BREAK暂停做某事(作为工作)
等...
我想做什么,我希望应用程序在某些条件下只显示第一条记录,否则显示第二条记录。我怎样才能实现这样的目标?我真的需要一些想法让我开始。真的很感激任何帮助。并且还要考虑一些要点。再次感谢。
更新
这是我到目前为止所尝试的,
DBHelper.class
public Cursor getAllWords()
{
return this.myDataBase.query(DB_TABLE, new String[] {
KEY_ID, KEY_WORD, KEY_MEANING }, null, null, null, null, null);
}
MainActivity.class
ArrayList<String> colWords = new ArrayList<String>();
ArrayList<String> colMeanings = new ArrayList<String>();
String[] words;
String[] meanings;
cursor = dbHelper.getAllWords();
colWords.clear();///added code
colMeanings.clear();///added code
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
colWords.add(cursor.getString(1));
colMeanings.add(cursor.getString(2));
String records = cursor.getString(0);
Log.d("Records", records);
} while (cursor.moveToNext());
}
}
答案 0 :(得分:1)
得到2条记录并检查条件,如果true显示第一条记录,否则在else显示第二条记录
答案 1 :(得分:1)
添加另一列,例如definition_number
,以便您的表格如下所示:
_id 字 definition_number 含义
1 BREAK 1 中断的第一个定义
2 BREAK 2 休息的第二个定义
3 CONTINUE 1 继续的第一个定义
4 CONTINUE 2 继续的第二个定义
现在,如果你想要所有的第一个定义
this.myDataBase.query(DB_TABLE, new String[] {KEY_ID, KEY_WORD, KEY_MEANING},
"defintion_number = 1", null, null, null, null)
如果你想要所有的第二个定义
this.myDataBase.query(DB_TABLE, new String[] {KEY_ID, KEY_WORD, KEY_MEANING},
"defintion_number = 2", null, null, null, null)
我会添加,即使它没有解决您的问题,您可能需要考虑将数据分成两个表, Words 和 Definitions ,以及然后酌情加入。由于这是切向的,我不会详细介绍,而是搜索架构规范化以获取有关您为什么要这样做的更多信息。