您的位置:首页 > 数据库 > SQL

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();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SQLiteOpenHelper