本例实现SQlite数据库的简单插入、删除、查询和数据表的重建和删除,让大家了解Sqlite的使用方法,不多说了
Xml布局,相信大家都没有问题吧。。。
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/insert"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="insert()"
/>
<Button
android:id="@+id/delete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="delete()"
/>
<Button
android:id="@+id/query"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="query()"
/>
<Button
android:id="@+id/drop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="drop table"
/>
<Button
android:id="@+id/re_creat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="re_create_table"
/>
</LinearLayout>
JAVA代码:
package com.xd.sqlite;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private Context context = this ;
private Button BtnInsert ;
private Button BtnDelete ;
private Button BtnQuery ;
private Button BtnDrop ;
private Button BtnReCreat ;
DatabaseHelper mOpenHelper;
private static class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 在数据库第一次生成的时候会调用这个方法,一般在这里生成数据表
String sql = "create table sqlitetest (s_id integer primary key, "
+"s_title text not null, s_context text not null)" ;
db.execSQL(sql) ;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 当数据库需要升级的时候,会主动调用这个方法。一般在这里删除数据表,并建立数据表
}
}
private OnClickListener click = new OnClickListener(){
public void onClick(View arg0) {
int temp = arg0.getId() ;
switch(temp){
case R.id.insert:
insert() ;
Toast.makeText(context, "插入数据成功!", Toast.LENGTH_SHORT).show() ;
break ;
case R.id.delete:
delete() ;
Toast.makeText(context, "删除记录成功!", Toast.LENGTH_SHORT).show() ;
break ;
case R.id.query:
int i = query() ;
Toast.makeText(context, "查询到"+i+"条记录", Toast.LENGTH_SHORT).show() ;
break ;
case R.id.drop:
drop() ;
Toast.makeText(context, "删除表成功!", Toast.LENGTH_SHORT).show() ;
break ;
case R.id.re_creat:
Re_Create() ;
Toast.makeText(context, "重建表成功!", Toast.LENGTH_SHORT).show() ;
break ;
}
}} ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mOpenHelper = new DatabaseHelper(this,"test.db",null,1);
getView() ;
}
/**
* 为控件设置值
*/
private void getView(){
BtnInsert = (Button) findViewById(R.id.insert) ;
BtnInsert.setOnClickListener(click) ;
BtnDelete = (Button) findViewById(R.id.delete) ;
BtnDelete.setOnClickListener(click) ;
BtnQuery = (Button) findViewById(R.id.query) ;
BtnQuery.setOnClickListener(click) ;
BtnDrop = (Button) findViewById(R.id.drop) ;
BtnDrop.setOnClickListener(click) ;
BtnReCreat = (Button) findViewById(R.id.re_creat) ;
BtnReCreat.setOnClickListener(click) ;
}
/**
* 插入数据
* @param title
* @param context
*/
private void insert(){
//得到一个可写的数据库,如果还没有建立就会调用mOpenHelper的onCreate方法,否则返回一个可写的数据库
SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;
String sql = "insert into sqlitetest(s_title,s_context) values('插入的记录','记录的内容')" ;
db.execSQL(sql) ;
ContentValues initialValues = new ContentValues();
initialValues.put("s_title","换种方式插入记录") ;
initialValues.put("s_context","这条记录的内容") ;
db.insert("sqlitetest",null,initialValues) ;
}
/**
* 查询数据库记录
* @return
*/
private int query(){
SQLiteDatabase db = mOpenHelper.getReadableDatabase() ;
Cursor cur = db.query("sqlitetest", new String[]{"s_title,s_context"},null, null, null, null, null) ;
return cur.getCount() ;
}
/**
* 删除记录
*/
private void delete(){
SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;
db.delete("sqlitetest", " s_title = '插入的记录'", null) ;
}
/**
* 删除表
*/
private void drop(){
SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;
String sql = "drop table sqlitetest" ;
db.execSQL(sql) ;
}
private void Re_Create(){
SQLiteDatabase db = mOpenHelper.getWritableDatabase() ;
String sql = "create table sqlitetest (s_id integer primary key, "
+"s_title text not null, s_context text not null)" ;
db.execSQL("drop table if exists sqlitetest") ;
db.execSQL(sql) ;
}
}
没有什么技术含量,只是初步看一下SQLite的使用。。。
源码下载:http://u.115.com/file/f9b2fe5ae8