本例实现sqlite数据库的简单插入、删除、查询和数据表的重建和删除,让大家了解sqlite的使用方法,不多说了
Xml布局,相信大家都没有问题吧。。。
main.xml
<?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> |
JAVA代码:
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)"; } @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('插入的记录','记录的内容')"; 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"; }
privatevoidRe_Create(){ sqliteDatabasedb=mOpenHelper.getWritableDatabase(); Stringsql="createtablesqlitetest(s_idintegerprimarykey,s_contexttextnotnull)"; db.execsql("droptableifexistssqlitetest"); } } |
没有什么技术含量,只是初步看一下sqlite的使用。。。