我在android应用程序中使用sqllite开发数据库我想使用like子句ex检索sm数据:
Cursor c = myDB.query(MY_DATABASE_TABLE, null, " SongName LIKE '%"+"=?"+"%'" ,
new String[]{match_str}, null, null,"SongHit DESC");
Run Code Online (Sandbox Code Playgroud)
它应该给所有SongName以match_str开头,但它不起作用.为什么?
我正在我的应用程序中使用editText监听器.现在假设我在editBox中输入一些东西,它按预期对每个键盘作出反应,但我希望它等到我完成我的文本,我正在输入ex:i键入www .goog preety fast然后我停了大约.5秒.我想要.5秒延迟来触发文本"www.goog"的editText Listener,而不是每一个字母.是否有可能.希望我足够清楚..帮助
editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
String searchText =editText.getText().toString();
Toast.makeText(getApplicationContext(), searchText,
Toast.LENGTH_SHORT).show();
//XXX do something
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
//XXX do something
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
Run Code Online (Sandbox Code Playgroud) 嗨,我是新手android并遇到问题
我在我的数据库中有两个字段songname和songhits的表.现在我想得到所有以字符串开头的歌曲说MATCH_STR按列表中的songhits排序.我知道sql查询但我不知道如何在我的android应用程序中执行.pls帮我一个例子或正确的代码.
我的代码:
Cursor c = myDB.query(MY_DATABASE_TABLE, "songname","songname like %"+MATCH_STR+"%" , null, null,"SongHit", null);
if (c != null)
{
c.moveToFirst();
int SongNameColumn = c.getColumnIndex("SongName");
if (c.isFirst())
{
i = 0;
do {
i++;
String SongName = c.getString(SongNameColumn);
// Add current Entry to results.
results.add(SongName);
} while (c.moveToNext());
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个表MY_DATABASE_TABLE ..但我想知道它是否存在
public boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
checkDB = SQLiteDatabase.openDatabase(MY_DATABASE_NAME, null,
SQLiteDatabase.OPEN_READONLY);
checkDB.close();
} catch (SQLiteException e) {
// database doesn't exist yet.
}
return checkDB != null ? true : false;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码没有工作,总是返回false