安卓增删改查总结.docx
《安卓增删改查总结.docx》由会员分享,可在线阅读,更多相关《安卓增删改查总结.docx(10页珍藏版)》请在冰豆网上搜索。
![安卓增删改查总结.docx](https://file1.bdocx.com/fileroot1/2023-1/31/072ae8b6-46dc-4d39-a537-c2b335c5072d/072ae8b6-46dc-4d39-a537-c2b335c5072d1.gif)
安卓增删改查总结
Activity:
packagecom.example.bbb;
importandroid.app.Activity;
importandroid.content.ContentValues;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteCursor;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.TextView;
importandroid.widget.ListView;
importandroid.widget.SimpleCursorAdapter;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
publicstaticfinalStringTAG="SQLiteDemo";
privateSQLiteDatabasedb;
privateButtoninsertButton;
privateButtonqueryButton;
privateButtondeleteButton;
privateButtonupdateButton;
privateListViewlistView;
privateEditTextnameEditText;
privateEditTextpasswordEditText;
privateTextViewtv1;
privateTextViewtv2;
privateSimpleCursorAdapteradapter;
privateintcurrentId;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DBHelperdbHelper=newDBHelper(this);
//在执行了getWritableDatabase的时候才会创建数据库
db=dbHelper.getWritableDatabase();
insertButton=(Button)findViewById(R.id.insertButton);
insertButton.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewarg0){
insertUserInfo();
}
});
queryButton=(Button)findViewById(R.id.queryButton);
queryButton.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
queryAllUserInfos();
}
});
deleteButton=(Button)findViewById(R.id.deleteButton);
deleteButton.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
deleteUserInfo();
}
});
updateButton=(Button)findViewById(R.id.updateButton);
updateButton.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
updateUserInfo();
}
});
listView=(ListView)findViewById(R.id.listView);
listView.setOnItemClickListener(newAdapterView.OnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView
>adapter,Viewview,
intposition,
longitemId){
Cursorcursor=(Cursor)adapter.getItemAtPosition(position);
intid=cursor.getInt(cursor.getColumnIndex("_id"));
Stringname=cursor.getString(cursor
.getColumnIndex("username"));
Stringpassword=cursor.getString(cursor
.getColumnIndex("password"));
currentId=id;
//nameEditText.setText(name);
//passwordEditText.setText(password);
tv1=(TextView)view.findViewById(R.id.textView1);
tv2=(TextView)view.findViewById(R.id.textView2);
tv1.setText(name);
tv2.setText(password);
}
});
nameEditText=(EditText)findViewById(R.id.nameEditText);
passwordEditText=(EditText)findViewById(R.id.passwordEditText);
}
publicvoiddeleteUserInfo(){
db.delete("m_userinfo","_id=?
",
newString[]{String.valueOf(currentId)});
Toast.makeText(this,"Deleteid"+currentId,Toast.LENGTH_SHORT)
.show();
}
publicvoidupdateUserInfo(){
Stringname=nameEditText.getText().toString();
Stringpassword=passwordEditText.getText().toString();
ContentValuescontentValues=newContentValues();
contentValues.put("username",name);
contentValues.put("password",password);
db.update("m_userinfo",contentValues,"_id=?
",
newString[]{String.valueOf(currentId)});
Toast.makeText(this,"Updateid"+currentId,Toast.LENGTH_SHORT)
.show();
}
publicvoidinsertUserInfo(){
Stringname=nameEditText.getText().toString();
Stringpassword=passwordEditText.getText().toString();
ContentValuescontentValues=newContentValues();
contentValues.put("username",name);
contentValues.put("password",password);
//设置数据库的null数值
//contentValues.putNull("username");
//如果我们不添加nullColumnHack的话,那么我们的sql语句最终的结果将会类似insertinto
//tableName()values();
//这显然是不允许的。
而如果我们添加上nullColumnHack呢,
//sql将会变成这样,insertintotableName
//(nullColumnHack)values(null);这样很显然就是可以的。
longrowId=db.insert("m_userinfo",null,contentValues);
Toast.makeText(this,"insertrowId"+rowId,Toast.LENGTH_SHORT)
.show();
nameEditText.setText(null);
passwordEditText.setText(null);
currentId=-1;
}
publicvoidqueryAllUserInfos(){
//columns如果是null,则返回所有的列
Cursorcursor=db.query("m_userinfo",null,null,null,null,null,
null);
//按username排序
//Cursorcursor=db.query("m_userinfo",null,null,null,null,null,
//"username");
//加搜索条件
//Cursorcursor=db.query("m_userinfo",null,"usernamelike?
",new
//String[]{"%p%"},null,null,"username");
Log.d(TAG,"Cursor"+cursor);
//adapter=newSimpleCursorAdapter(this,
//android.R.layout.simple_list_item_2,cursor,newString[]{
//"username","password"},newint[]{
//android.R.id.text1,android.R.id.text2});
adapter=newSimpleCursorAdapter(this,
R.layout.sss,cursor,newString[]{
"username","password"},newint[]{
R.id.textView1,R.id.textView2});
listView.setAdapter(adapter);
//
while(cursor.moveToNext()){
//
//
intid=cursor.getInt(0);
//
//Stringusername=cursor.getString
(1);
//
Stringusername=cursor.getString(cursor
//
.getColumnIndex("username"));
//
Stringpassword=cursor.getString(cursor
//
.getColumnIndex("password"));
//
//
Log.d(TAG,"id"+id+",username"+username+",password"
+password);
//
}
}
@Override
protectedvoidonDestroy(){
db.close();
super.onDestroy();
}
}
Sqlhelp:
packagecom.example.bbb;
importandroid.content.Context;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteCursor;
importandroid.database.sqlite.SQLiteCursorDriver;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.database.sqlite.SQLiteQuery;
importandroid.database.sqlite.SQLiteDatabase.CursorFactory;
importandroid.database.sqlite.SQLiteOpenHelper;
importandroid.util.Log;
publicclassDBHelperextendsSQLiteOpenHelper
{
publicstaticfinalStringTAG="SQLiteDemo";
publicstaticfinalStringDB_NAME="mydb.db";
publicstaticfinalintVERSION=1;
publicDBHelper(Contextcontext)
{
//super(context,DB_NAME,null,VERSION);
super(context,DB_NAME,null,VERSION);
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
Log.d(TAG,"Databaseoncreate");
Stringsql="CREATETABLEm_userinfo(_idINTEGERPRIMARYKEYAUTOINCREMENT,usernameVARCHAR(256),passwordVARCHAR(256))";
db.execSQL(sql);
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)
{
Log.d(TAG,"Databaseonupgradeoldversion"+oldVersion+",newversion"+newVersion);
}
}
Xml:
android="
xmlns:
tools="
android:
layout_width="match_parent"
android:
layout_height="match_parent"
android:
orientation="vertical"
tools:
context=".MainActivity">
android:
layout_width="fill_parent"
android:
layout_height="wrap_content">
android:
id="@+id/nameEditText"
android:
layout_width="0dp"
android:
layout_height="wrap_content"
android:
layout_weight="1"
android:
hint="name">
android:
id="@+id/passwordEditText"
android:
layout_width="0dp"
android:
layout_height="wrap_content"
android:
layout_weight="1"
android:
hint="password">
android:
layout_width="fill_parent"
android:
layout_height="wrap_content">
android:
id="@+id/listView"
android:
layout_width="fill_parent"
android:
layout_height="fill_parent">