需求:
在主Activity中将一个单词和解释存入数据库,然后当我们输入单词或者解释时,能够通过模糊查询数据库并把结果显示在
第二个对话框Activity的ListView中的每一项中,如果单词不存在则提示用户是否插入数据或者放弃。
思路:
1、创建一个类DBOpenHelper继承于SQLiteOpenHelper并重写其方法
2、在主Activity中获取到模糊查询的ArrayList<Map<String, String>>集合list并通过bundle.putSerializable()传入第二个Activity
3、在ResultActivity中接受list集合并创建一个SimpleAdapter适配器用于把集合list中的内容填充到ListView中。
好了,接下来我们看代码吧,对于每个方法都有详细的注释.
类DBOpenHelper
package org.mobiletrain.sqlite_demo6;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper{
//声明一个sql
String sql = "create table if not exists dic(_id integer primary key autoincrement," +
"word text,detail text)";
public DBOpenHelper(Context context, String name) {
super(context, name, null, 1);
}
public DBOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建一个sql
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
MainActivity:
package org.mobiletrain.sqlite_demo6;
impo