该程序是用于在 Listview 中显示数据库的类。我想通过给定的关键字添加对数据库中所需数据的搜索。如何添加在同一类中使用关键字在数据库中搜索的代码
public class DisplayActivity extends Activity
{
private ArrayList<String> arraylist=new ArrayList<String>();
private SQLiteDatabase MYdatabase;
ListView listView;
Button back;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.display);
listView=(ListView)findViewById(R.id.listView1);
DatabaseHelper db=new DatabaseHelper(this);
MYdatabase=db.getWritableDatabase();
try {
Cursor c=MYdatabase.rawQuery("SELECt * FROM Student", null);
if(c!=null)
{
if(c.moveToFirst())
{
do {
String name=c.getString(c.getColumnIndex("NAME"));
String age=c.getString(c.getColumnIndex("AGE"));
String address=c.getString(c.getColumnIndex("ADDRESS"));
arraylist.add("Name :"+name+"\n"+"Age :"+age+"\n"+"Address :"+address+"\n");
} while (c.moveToNext());
}
}
c.close();
c.deactivate();
} catch (SQLiteException e) {
Log.d(getClass().getSimpleName(), "could not create"+"or open the database");
}
finally
{
if(MYdatabase!=null)
{
MYdatabase.close();
}
}
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arraylist));
}
public void Back(View v)
{
Intent back=new Intent(DisplayActivity.this,DbExampleActivity.class);
startActivity(back);
}
}
以下是活动类代码。认为这很容易理解
public class DbExampleActivity extends Activity implements OnClickListener{
Button submit,select,search;
AlertDialog di;
private SQLiteDatabase sqLiteDatabase;
private SQLiteStatement sqLiteStatement;
private String name,age,address;
private static final String TABLE_NAME="Student";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
submit=(Button)findViewById(R.id.savebutton);
select=(Button)findViewById(R.id.detailsbutton);
search=(Button)findViewById(R.id.searchbutton);
DatabaseHelper db=new DatabaseHelper(this);
sqLiteDatabase=db.getWritableDatabase();
sqLiteStatement=sqLiteDatabase.compileStatement("insert into "+TABLE_NAME+"(name,age,address)values(?,?,?)");
submit.setOnClickListener(this);
select.setOnClickListener(this);
search.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.detailsbutton:
Intent in=new Intent(getApplicationContext(),DisplayActivity.class);
startActivity(in);
break;
case R.id.savebutton:
name=((EditText)findViewById(R.id.editText1)).getText().toString().trim();
age=((EditText)findViewById(R.id.editText2)).getText().toString().trim();
address=((EditText)findViewById(R.id.editText3)).getText().toString().trim();
sqLiteStatement.bindString(1, name);
sqLiteStatement.bindString(2, age);
sqLiteStatement.bindString(3, address);
sqLiteStatement.executeInsert();
Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_LONG).show();
break;
case R.id.searchbutton:
Intent search=new Intent(getApplicationContext(),DisplayActivity.class);
startActivity(search);
default:
break;
}
}
}
要添加什么代码以允许使用关键字搜索数据库