<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns: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="droptable"
/>
<Button
android:id="@+id/re_creat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="re_create_table"
/>
</LinearLayout>
packagecom.xd.sqlite;
importandroid.app.Activity;
importandroid.content.ContentValues;
importandroid.content.Context;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.database.sqlite.SQLiteOpenHelper;
importandroid.database.sqlite.SQLiteDatabase.CursorFactory;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
privateContextcontext=this;
privateButtonBtnInsert;
privateButtonBtnDelete;
privateButtonBtnQuery;
privateButtonBtnDrop;
privateButtonBtnReCreat;
DatabaseHelpermOpenHelper;
privatestaticclassDatabaseHelperextendsSQLiteOpenHelper{
publicDatabaseHelper(Contextcontext,Stringname,
CursorFactoryfactory,intversion){
super(context,name,factory,version);
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
//在数据库第一次生成的时候会调用这个方法,一般在这里生成数据表
Stringsql="createtablesqlitetest(s_idintegerprimarykey,"
+"s_titletextnotnull,s_contexttextnotnull)";
db.execSQL(sql);
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
//当数据库需要升级的时候,会主动调用这个方法。一般在这里删除数据表,并建立数据表
}
}
privateOnClickListenerclick=newOnClickListener(){
publicvoidonClick(Viewarg0){
inttemp=arg0.getId();
switch(temp){
caseR.id.insert:
insert();
Toast.makeText(context,"插入数据成功!",Toast.LENGTH_SHORT).show();
break;
caseR.id.delete:
delete();
Toast.makeText(context,"删除记录成功!",Toast.LENGTH_SHORT).show();
break;
caseR.id.query:
inti=query();
Toast.makeText(context,"查询到"+i+"条记录",Toast.LENGTH_SHORT).show();
break;
caseR.id.drop:
drop();
Toast.makeText(context,"删除表成功!",Toast.LENGTH_SHORT).show();
break;
caseR.id.re_creat:
Re_Create();
Toast.makeText(context,"重建表成功!",Toast.LENGTH_SHORT).show();
break;
}
}};
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mOpenHelper=newDatabaseHelper(this,"test.db",null,1);
getView();
}
/**
*为控件设置值
*/
privatevoidgetView(){
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);
}
/**
*插入数据
*@paramtitle
*@paramcontext
*/
privatevoidinsert(){
//得到一个可写的数据库,如果还没有建立就会调用mOpenHelper的onCreate方法,否则返回一个可写的数据库
SQLiteDatabasedb=mOpenHelper.getWritableDatabase();
Stringsql="insertintosqlitetest(s_title,s_context)values('插入的记录','记录的内容')";
db.execSQL(sql);
ContentValuesinitialValues=newContentValues();
initialValues.put("s_title","换种方式插入记录");
initialValues.put("s_context","这条记录的内容");
db.insert("sqlitetest",initialValues);
}
/**
*查询数据库记录
*@return
*/
privateintquery(){
SQLiteDatabasedb=mOpenHelper.getReadableDatabase();
Cursorcur=db.query("sqlitetest",newString[]{"s_title,s_context"},null);
returncur.getCount();
}
/**
*删除记录
*/
privatevoiddelete(){
SQLiteDatabasedb=mOpenHelper.getWritableDatabase();
db.delete("sqlitetest","s_title='插入的记录'",null);
}
/**
*删除表
*/
privatevoiddrop(){
SQLiteDatabasedb=mOpenHelper.getWritableDatabase();
Stringsql="droptablesqlitetest";
db.execSQL(sql);
}
privatevoidRe_Create(){
SQLiteDatabasedb=mOpenHelper.getWritableDatabase();
Stringsql="createtablesqlitetest(s_idintegerprimarykey,s_contexttextnotnull)";
db.execSQL("droptableifexistssqlitetest");
db.execSQL(sql);
}
}