SQLiteOpenHelper类实例-英文生词本
2014-03-17 13:08
295 查看
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生词"/>
<EditText android:id="@+id/add_word"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="介绍"/>
<EditText android:id="@+id/add_detail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<Button android:id="@+id/add_but"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="添加生词"/>
</LinearLayout>
<EditText android:id="@+id/sear_word"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button android:id="@+id/serach_but"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="查找生词"/>
<TextView android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
MyDataBaseHelper.java
package com.example.wordbooktest;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDataBaseHelper extends SQLiteOpenHelper{
final String CREATE_TABLE_SQL="create table dict(" +
"word_id integer primary key autoincrement," +
"word varchar(50)," +
"detait varchar(50))";
//name代表数据库的名称
public MyDataBaseHelper(Context context, String name,CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//第一次使用数据库时候自动创建表
db.execSQL(CREATE_TABLE_SQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("升级数据库版本,旧版本:"+oldVersion+"新版本:"+newVersion);
}
}
MainActivity.java
package com.example.wordbooktest;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
MyDataBaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建数据库DataBseHelper
dbHelper=new MyDataBaseHelper(MainActivity.this, "hanqing.db3", null, 1);
Button addBut=(Button) super.findViewById(R.id.add_but);
Button searchBut=(Button) super.findViewById(R.id.serach_but);
final EditText inputWord=(EditText) super.findViewById(R.id.add_word);
final EditText inputDetail=(EditText) super.findViewById(R.id.add_detail);
final TextView searchResult=(TextView) super.findViewById(R.id.result);
//获取用户查询的时候输入的关键词EditText
final EditText inputKey=(EditText) super.findViewById(R.id.sear_word);
addBut.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//获取用户输入的生词和生词介绍
String word=inputWord.getText().toString();
String detail=inputDetail.getText().toString();
//插入生词记录
insertData(dbHelper.getReadableDatabase(),word,detail);
//显示添加成功
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_LONG).show();
}
});
//当用户点击查询的时候
searchBut.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//获取用户输入的查询的关键词
String key=inputKey.getText().toString();
//执行查询操作
Cursor cursor=dbHelper.getReadableDatabase().rawQuery("select * from dict where word like ? or detait like ?", new String[]{"%"+key+"%","%"+key+"%"});
//遍历cursor结果集
while(cursor.moveToNext()){
searchResult.setText("查询情况为:"+cursor.getString(1)+cursor.getString(2));
}
}
});
}
//向数据库当中插入数据的方法
public void insertData(SQLiteDatabase db,String word,String detail){
db.execSQL("insert into dict values(null,?,?)",new String[]{word,detail});
}
@Override
protected void onDestroy() {
super.onDestroy();
//退出程序时候关闭MyDatabaseHelper里的SQLiteDatabase
if(dbHelper!=null){
dbHelper.close();
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生词"/>
<EditText android:id="@+id/add_word"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="介绍"/>
<EditText android:id="@+id/add_detail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<Button android:id="@+id/add_but"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="添加生词"/>
</LinearLayout>
<EditText android:id="@+id/sear_word"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button android:id="@+id/serach_but"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="查找生词"/>
<TextView android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
MyDataBaseHelper.java
package com.example.wordbooktest;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDataBaseHelper extends SQLiteOpenHelper{
final String CREATE_TABLE_SQL="create table dict(" +
"word_id integer primary key autoincrement," +
"word varchar(50)," +
"detait varchar(50))";
//name代表数据库的名称
public MyDataBaseHelper(Context context, String name,CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//第一次使用数据库时候自动创建表
db.execSQL(CREATE_TABLE_SQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("升级数据库版本,旧版本:"+oldVersion+"新版本:"+newVersion);
}
}
MainActivity.java
package com.example.wordbooktest;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
MyDataBaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建数据库DataBseHelper
dbHelper=new MyDataBaseHelper(MainActivity.this, "hanqing.db3", null, 1);
Button addBut=(Button) super.findViewById(R.id.add_but);
Button searchBut=(Button) super.findViewById(R.id.serach_but);
final EditText inputWord=(EditText) super.findViewById(R.id.add_word);
final EditText inputDetail=(EditText) super.findViewById(R.id.add_detail);
final TextView searchResult=(TextView) super.findViewById(R.id.result);
//获取用户查询的时候输入的关键词EditText
final EditText inputKey=(EditText) super.findViewById(R.id.sear_word);
addBut.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//获取用户输入的生词和生词介绍
String word=inputWord.getText().toString();
String detail=inputDetail.getText().toString();
//插入生词记录
insertData(dbHelper.getReadableDatabase(),word,detail);
//显示添加成功
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_LONG).show();
}
});
//当用户点击查询的时候
searchBut.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//获取用户输入的查询的关键词
String key=inputKey.getText().toString();
//执行查询操作
Cursor cursor=dbHelper.getReadableDatabase().rawQuery("select * from dict where word like ? or detait like ?", new String[]{"%"+key+"%","%"+key+"%"});
//遍历cursor结果集
while(cursor.moveToNext()){
searchResult.setText("查询情况为:"+cursor.getString(1)+cursor.getString(2));
}
}
});
}
//向数据库当中插入数据的方法
public void insertData(SQLiteDatabase db,String word,String detail){
db.execSQL("insert into dict values(null,?,?)",new String[]{word,detail});
}
@Override
protected void onDestroy() {
super.onDestroy();
//退出程序时候关闭MyDatabaseHelper里的SQLiteDatabase
if(dbHelper!=null){
dbHelper.close();
}
}
}
相关文章推荐
- SQLiteOpenHelper使用之英文生词本
- 如何使用SQLite数据库,android SQLiteOpenHelper使用实例
- 官方NotePad实例学习--SQLiteOpenHelper的用法
- 使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例
- Android开发之Sqliteopenhelper用法实例分析
- 使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例
- android SQLite具体实例应用详解(SQLiteOpenHelper)
- Android SQLiteOpenHelper 实例方法getReadableDatabase()和getWritableDatabase() 区别
- SQLiteOpenHelper的构造函数与实例方法
- Android SQLite相关应用-SQLiteOpenHelper无法新建实例
- 使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例
- 《单例模式》之双重检查加锁DCL(结合SQLiteOpenHelper实例)
- sqlite3事务和锁的实例
- Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例
- javascript之关于window.open应用(二)—Window.Open实例详解
- 组合数据类型练习,英文词频统计实例
- Android(java)学习笔记117:英文朗诵android App编写实例
- java web连接sqlite提示java.lang.AbstractMethodError: org.sqlite.DB.open(Ljava/lang/String;)V解决方案
- 《实例学习OpenXava(中文免费版)第一版》发布
- OpenWrt Web界面修改及功能实现实例说明