我已经为此工作了好几天,断断续续。我想要做的是当用户单击一个按钮时,对我的 sql lite 数据库运行一个返回 1 值(可能是整数,但字符串很好)的查询,然后我可以将其放入文本框中。(此外,当用户更改输入值并单击按钮时,他们会得到不同的结果。
我已经浏览了大量示例,但它们都在最后使用列表视图来显示一组行。有没有办法从我的数据库适配器中获取结果,我认为它是一个字符串。在下面来自 mydbadapter 的代码中,我想从 KEY_FEE 列返回一个值:
public String getdata(){
String[] columns = new String[]{KEY_ROWID, KEY_SPEED, KEY_TIME, KEY_FEE };
Cursor c = myDatabase.query(DATABASE_TABLE, columns, "speed like '25' AND "
+ "time like '50'", null, null, null, null);
String result ="";
int iRow =c.getColumnIndex(KEY_ROWID);
int iSPEED =c.getColumnIndex(KEY_SPEED);
int iTIME=c.getColumnIndex(KEY_TIME);
int iFEE =c.getColumnIndex(KEY_FEE);
for (c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
result = result + c.getString(iRow) + " " +c.getString(iSPEED) + " "
+c.getString(iTIME) + " " +c.getString(iFEE) + "/n";
}
return result; }
这个结果实际上是一个字符串吗?
如果是这样,我如何从我的主程序中访问它,点击按钮: Button.OnClickListener buttonOnClickListener = new Button.OnClickListener(){
@Override
public void onClick(View v) {
System.out.println("The calculate FEE button was clicked " );
//TODO
//getdata here from database, to a variable for lineout, sub in for "60".
//
myDbHelper.getdata();
//set the stringVal variable to the Fee
_stringVal = "Fee is:" **???how to specify the result string from dbhelper here?**;
//sets the text textview based on prior code: _value = (TextView) findViewById(R.id.textView3);
_value.setText(_stringVal);
//System.out.println("Text should say "+_stringVal);
// System.out.println("Get Data Has been called. ");
}
};