Android內(nèi)置SQLite的使用詳細(xì)介紹
一、創(chuàng)建數(shù)據(jù)庫
1、新建數(shù)據(jù)庫幫助類
包名——右擊——new——Java class——輸入類名:MyDBOpenHelper— —父類:SQLiteOpenHelper。
2、在數(shù)據(jù)庫幫助類中輸入代碼
public class MyDBOpenHelper extends SQLiteOpenHelper { //定義數(shù)據(jù)庫名和版本號(hào) private static final String DBNAME="student.db"; private static final int VERSION=1; public MyDBOpenHelper(Context context) { super(context, DBNAME, null, VERSION); } //創(chuàng)建數(shù)據(jù)庫 @Override public void onCreate(SQLiteDatabase db) { //創(chuàng)建數(shù)據(jù)表 db.execSQL("create table stu_info(id INTEGER primary key autoincrement,sno varchar(10),name varchar(10),sex varchar(4),professional varchar(10),deparment varchar(20) )"); } //升級(jí)數(shù)據(jù)庫 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
3、代碼講解
(1)簡介:
Android為了讓用戶能夠更加方便地管理數(shù)據(jù)庫,丏門提供了一個(gè) SQLiteOpenHelper幫助類,借助這個(gè)類就可以非常簡單地對(duì)數(shù)據(jù)庫進(jìn)行創(chuàng)建。
SQLiteOpenHelper是一個(gè)抽象類,這意味著如果想使用它的話,這就需要自己 創(chuàng)建一個(gè)類去繼承他它就可以了。
例如:
public class MyDBOpenHelper extends SQLiteOpenHelper { }
(2)方法
方法 | 作用 | 示例 |
onCreate(SQLiteDatabase db) | 創(chuàng)建數(shù)據(jù)庫 | |
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) | 升級(jí)數(shù)據(jù)庫 | |
db.execSQL( ……………… ) | 創(chuàng)建數(shù)據(jù)表 | db.execSQL(“create table stu_info (id INTEGER primary key autoincrement,sno varchar(10),..." ); |
getReadableDatabase() | 以只讀方式 打開數(shù)據(jù)庫 | db=mhelper. getReadableDatabase(); |
getWritableDatabase() | 以讀寫方式 打開數(shù)據(jù)庫 | db=mhelper.getWritableDatabase(); |
(3)構(gòu)造方法
SQLiteOpenHelper中有三個(gè)構(gòu)造方法可供重寫,一般使用參數(shù)少點(diǎn)的那個(gè)構(gòu)造方 法即可,必須要有它才能對(duì)數(shù)據(jù)庫進(jìn)行操作,這個(gè)構(gòu)造方法中,接受4個(gè)參數(shù):
Cursor游標(biāo)結(jié)果集(本案例沒用到)
游標(biāo)是一段私有的SQL工作區(qū),即一段內(nèi)存區(qū)域,用于暫時(shí)存放受SQL語句影響到的數(shù)據(jù)。通俗理解就是將受影響的數(shù)據(jù)暫時(shí)存放到一個(gè)內(nèi)存區(qū)域的虛表中,這個(gè)虛表就是游標(biāo)。
游標(biāo)在數(shù)據(jù)庫的事務(wù)回滾中有非常重要的作用。由于對(duì)數(shù)據(jù)庫的操作會(huì)暫時(shí)存放在游標(biāo)中,只要不提交,就可以根據(jù)游標(biāo)中的內(nèi)容進(jìn)行回滾。這樣有利于數(shù)據(jù)庫的安全。
(4)總結(jié)
integer這里都要大寫成INTEGER!??!
簡介 :
對(duì)數(shù)據(jù)庫中的數(shù)據(jù)表的操作,一共有四種:添加、查詢、更新、刪除。每一種 操作又各自對(duì)應(yīng)了一種SQL命令:insert(添加),select(查詢),update(更 新),delete(刪除)。
二、添加數(shù)據(jù)
1、界面效果
2、準(zhǔn)備工作
(1)添加 3 個(gè)頁面
整個(gè)作品中,要完成學(xué)生信息的添加、查詢、修改、刪除四個(gè)功能。每個(gè)頁面完成某一個(gè)功能,所以,添加另外的 3 個(gè)頁面,類文件分別為:SecondActivity、ThirdActivity、 FoutActivity,
(2)準(zhǔn)備背景圖片
選擇 4 張圖片,粘貼到工程的 drawable 文件夾下,當(dāng)做 4 個(gè)頁面的背景圖片,
圖片如圖所示:
3、布局界面 activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/addbg" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="信息添加頁面" android:textSize="30sp" android:textStyle="bold" android:textColor="#000000" android:layout_gravity="center" android:layout_margin="80dp"/> <EditText android:id="@+id/editText_onesno" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="學(xué)號(hào)" android:textSize="25sp"/> <EditText android:id="@+id/editText_onename" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="姓名" android:textSize="25sp"/> <EditText android:id="@+id/editText_onesex" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="性別" android:textSize="25sp"/> <EditText android:id="@+id/editText_onepro" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="專業(yè)班級(jí)" android:textSize="25sp"/> <EditText android:id="@+id/editText_onedep" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="所屬系部" android:textSize="25sp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/button_oneadd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="添加" android:textSize="25sp" android:layout_weight="1"/> <Button android:id="@+id/button_oneclear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="清除" android:textSize="25sp" android:layout_weight="1"/> </LinearLayout> <Button android:id="@+id/button_onenext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一頁" android:textSize="25sp" android:layout_gravity="right" android:layout_marginTop="30dp"/> </LinearLayout>
4、類文件代碼 MainActivity.java
public class MainActivity extends AppCompatActivity { //定義對(duì)象 private EditText edit_onesno,edit_onename,edit_onesex,edit_onepro,edit_onedep; private Button btn_oneadd,btn_oneclear,btn_onenext; private MyDBOpenHelper mhelper;//定義數(shù)據(jù)庫幫助類對(duì)象 private SQLiteDatabase db;//定義一個(gè)可以操作的數(shù)據(jù)庫對(duì)象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1 綁定控件 initView(); //2 添加按鈕功能的實(shí)現(xiàn) btnAdd(); //3 清除和下一頁按鈕的功能 btnClearNext(); } //綁定控件-------------代碼 private void initView() { edit_onesno=findViewById(R.id.editText_onesno); edit_onename=findViewById(R.id.editText_onename); edit_onesex=findViewById(R.id.editText_onesex); edit_onepro=findViewById(R.id.editText_onepro); edit_onedep=findViewById(R.id.editText_onedep); btn_oneadd=findViewById(R.id.button_oneadd); btn_oneclear=findViewById(R.id.button_oneclear); btn_onenext=findViewById(R.id.button_onenext); mhelper=new MyDBOpenHelper(MainActivity.this);//實(shí)例化數(shù)據(jù)庫幫助類 db=mhelper.getWritableDatabase();//創(chuàng)建數(shù)據(jù)庫,獲取數(shù)據(jù)庫的讀寫權(quán)限 } //2 添加按鈕功能的實(shí)現(xiàn)------代碼 private void btnAdd() { btn_oneadd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //定義一個(gè)對(duì)象,構(gòu)建一行數(shù)據(jù) ContentValues values=new ContentValues();//用 value 表示一行 values.put("sno",edit_onesno.getText().toString());//把輸入的學(xué)號(hào)放到 sno 列 values.put("name",edit_onename.getText().toString());//把輸入的姓名放到 name 列 values.put("sex",edit_onesex.getText().toString());//把輸入的性別放到 sex 列 values.put("professional",edit_onepro.getText().toString());//把輸入的專業(yè)放到 professional 列 values.put("deparment",edit_onedep.getText().toString());//把輸入的系部放到 department 列 //將這一行數(shù)據(jù)存放到數(shù)據(jù)庫的數(shù)據(jù)表中。參數(shù):(表名,某些為空的列自動(dòng)賦值 null,ContentValue 對(duì)象) db.insert("stu_info",null,values); Toast.makeText(MainActivity.this,"添加成功",Toast.LENGTH_SHORT).show(); } }); } //3 清除和下一頁按鈕的功能-----代碼 private void btnClearNext() { //清除按鈕的功能 btn_oneclear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { edit_onesno.setText(""); edit_onename.setText(""); edit_onesex.setText(""); edit_onepro.setText(""); edit_onedep.setText(""); } }); //下一頁按鈕的功能 btn_onenext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,SecondActivity.class); startActivity(intent); finish(); } }); } }
5、代碼講解
(1)插入一條數(shù)據(jù)的步驟
(2)insert()方法的三個(gè)參數(shù)
1、第一個(gè)參數(shù)表名;
2、第二個(gè)參數(shù)是某些為空的列自動(dòng)賦值null;
3、第三個(gè)參數(shù)是ContentValue對(duì)象,它提供了一系列put()方法重載,用于向ContentValues中添加對(duì)象,只需要將表中的每個(gè)列名以及相應(yīng)的待添加的數(shù) 據(jù)傳入即可。
(3)總結(jié)
三、查詢數(shù)據(jù)
1、界面效果圖
2、布局界面 activity_second.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/querybg" tools:context=".SecondActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="信息查詢頁面" android:textSize="30sp" android:textStyle="bold" android:textColor="#000000" android:layout_gravity="center" android:layout_margin="80dp"/> <EditText android:id="@+id/editText_twosno" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入要查詢的學(xué)號(hào)" android:textSize="25sp"/> <Button android:id="@+id/button_twoquery" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="查詢" android:textSize="25sp"/> <TextView android:id="@+id/textView_tworesult" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="顯示查詢結(jié)果" android:textSize="25sp" /> <Button android:id="@+id/button_twonext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一頁" android:textSize="25sp" android:layout_gravity="right" android:layout_marginTop="30dp"/> </LinearLayout>
3、類文件 SecondActivity.java
public class SecondActivity extends AppCompatActivity { //定義對(duì)象 EditText edit_twosno; Button btn_twoquery,btn_twonext; TextView txt_tworesult; MyDBOpenHelper mhelper;//定義一個(gè)數(shù)據(jù)庫幫助類對(duì)象 SQLiteDatabase db;//定義一個(gè)操作的數(shù)據(jù)庫的類對(duì)象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); //1 控件初始化 initView(); //2 查詢按鈕功能的實(shí)現(xiàn) btnQuery(); //3 下一頁按鈕功能的實(shí)現(xiàn) btnNext(); } //1 控件初始化-----------------------代碼 private void initView() { edit_twosno=findViewById(R.id.editText_twosno); btn_twoquery=findViewById(R.id.button_twoquery); txt_tworesult=findViewById(R.id.textView_tworesult); btn_twonext=findViewById(R.id.button_twonext); mhelper=new MyDBOpenHelper(SecondActivity.this);//實(shí)例化數(shù)據(jù)庫幫助類對(duì)象 db=mhelper.getWritableDatabase();//獲取數(shù)據(jù)庫的讀寫權(quán)限 } //2 查詢按鈕功能的實(shí)現(xiàn)--------代碼 private void btnQuery() { btn_twoquery.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //開始查詢 參數(shù):(實(shí)現(xiàn)查詢的 sql 語句,條件參數(shù)) Cursor cursor =db.rawQuery("select * from stu_info where sno=?",new String[]{edit_twosno.getText().toString()}); if(cursor.getCount()!=0){//判斷結(jié)果集中是否有數(shù)據(jù),有:查詢成功;無:查詢失敗 Toast.makeText(SecondActivity.this,"查詢成功",Toast.LENGTH_SHORT).show(); //循環(huán)遍歷結(jié)果集,取出數(shù)據(jù),顯示出來 while (cursor.moveToNext()){ String mysno=cursor.getString(cursor.getColumnIndex("sno")); String myname=cursor.getString(cursor.getColumnIndex("name")); String mysex=cursor.getString(cursor.getColumnIndex("sex")); String mypro=cursor.getString(cursor.getColumnIndex("professional")); String mydep=cursor.getString(cursor.getColumnIndex("deparment")); txt_tworesult.setText(mysno+"\n"+myname+"\n"+mysex+"\n"+mypro+"\n"+mydep); } }else{ Toast.makeText(SecondActivity.this,"沒有查詢到該學(xué)號(hào)的學(xué)生",Toast.LENGTH_SHORT).show(); txt_tworesult.setText(""); } } }); } //3 下一頁按鈕功能的實(shí)現(xiàn)------代碼 private void btnNext() { btn_twonext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(SecondActivity.this,ThirdActivity.class); startActivity(intent); finish(); } }); } }
4、代碼講解
(1)查詢時(shí)用到的方法——方法1
query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit)
方法各參數(shù)的含義:
table:表名。相當(dāng)于select語句from關(guān)鍵字后面的部分。如果是多表聯(lián)合查詢,可以用逗號(hào)將兩個(gè)表名分開。
columns:要查詢出來的列名。相當(dāng)于select語句select關(guān)鍵字后面的部分。
selection:查詢條件子句,相當(dāng)于select語句where關(guān)鍵字后面的部分,在條件子句允許使用占位符“?”
selectionArgs:對(duì)應(yīng)于selection語句中占位符的值,值在數(shù)組中的位置與占位符在語句中的位置必須一致,否則就 會(huì)有異常。
groupBy:相當(dāng)于select語句group by關(guān)鍵字后面的部分
having:相當(dāng)于select語句having關(guān)鍵字后面的部分
orderBy:相當(dāng)于select語句order by關(guān)鍵字后面的部分,如:personid desc, age asc;
limit:指定偏移量和獲取的記錄數(shù),相當(dāng)于select語句limit關(guān)鍵字后面的部分。
(2)查詢時(shí)用到的方法——方法2
rawQuery(String sql,String[ ] selectionArgs)
方法各參數(shù)的含義:
sql :實(shí)現(xiàn)查詢的sql語句,例如: select * from stu_info where sno=?
selectionArgs:是?條件參數(shù),如果?這個(gè)內(nèi)占位符容為null的話就表示把所有的學(xué)號(hào)的學(xué)生都查出來
(3)查詢結(jié)果處理
(4)總結(jié)
四、修改數(shù)據(jù)
1、界面效果圖
2、布局界面 activity_ third.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/modifybg" tools:context=".ThirdActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="信息修改頁面" android:textSize="30sp" android:textStyle="bold" android:textColor="#000000" android:layout_gravity="center" android:layout_margin="80dp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginBottom="30dp"> <EditText android:id="@+id/editText_threeinputsno" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="請輸入要查詢的學(xué)號(hào)" android:textSize="25sp"/> <Button android:id="@+id/button_threequery" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="查詢" android:textSize="25sp"/> </LinearLayout> <EditText android:id="@+id/editText_threesno" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="學(xué)號(hào)" android:textSize="25sp"/> <EditText android:id="@+id/editText_threename" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="姓名" android:textSize="25sp"/> <EditText android:id="@+id/editText_threedep" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="所屬系部" android:textSize="25sp"/> <Button android:id="@+id/button_threemodify" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="修改" android:textSize="25sp" android:layout_gravity="right" android:layout_marginTop="30dp"/> <Button android:id="@+id/button_threenext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一頁" android:textSize="25sp" android:layout_gravity="right"/> </LinearLayout>
3、類文件 ThirdActivity.java
public class ThirdActivity extends AppCompatActivity { //定義對(duì)象 EditText edit_threeinputsno,edit_threesno,edit_threename,edit_threedep; Button btn_threequery,btn_threemodify,btn_threenext; MyDBOpenHelper mhelper;//定義一個(gè)數(shù)據(jù)庫幫助類對(duì)象 SQLiteDatabase db;//定義一個(gè)操作的數(shù)據(jù)庫的類對(duì)象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); //1 控件初始化 initView(); //2 查詢按鈕功能的實(shí)現(xiàn) btnQuery(); //3 修改按鈕功能的實(shí)現(xiàn) btnModify(); //4 下一步按鈕功能的實(shí)現(xiàn) btnNext(); } //1 控件初始化-------------代碼 private void initView() { edit_threeinputsno=findViewById(R.id.editText_threeinputsno); edit_threesno=findViewById(R.id.editText_threesno); edit_threename=findViewById(R.id.editText_threename); edit_threedep=findViewById(R.id.editText_threedep); btn_threequery=findViewById(R.id.button_threequery); btn_threemodify=findViewById(R.id.button_threemodify); btn_threenext=findViewById(R.id.button_threenext); mhelper=new MyDBOpenHelper(ThirdActivity.this);//實(shí)例化數(shù)據(jù)庫幫助類對(duì)象 db= mhelper.getWritableDatabase();//獲取數(shù)據(jù)庫的讀寫權(quán)限 } //2 查詢按鈕功能的實(shí)現(xiàn) private void btnQuery() { btn_threequery.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //先查詢顯示,再修改。參數(shù)(String sql,String[ ] selectionArgs) Cursor cursor=db.rawQuery("select * from stu_info where sno=?",new String[]{edit_threeinputsno.getText().toString()}); if(cursor.getCount()!=0){ Toast.makeText(ThirdActivity.this,"查詢成功",Toast.LENGTH_SHORT).show(); while(cursor.moveToNext()){ String mysno=cursor.getString(cursor.getColumnIndex("sno")); String myname=cursor.getString(cursor.getColumnIndex("name")); String mydep=cursor.getString(cursor.getColumnIndex("deparment")); edit_threesno.setText(mysno); edit_threename.setText(myname); edit_threedep.setText(mydep); } }else{ Toast.makeText(ThirdActivity.this,"沒有查詢到該學(xué)號(hào)的學(xué)生",Toast.LENGTH_SHORT).show(); edit_threesno.setText(""); edit_threename.setText(""); edit_threedep.setText(""); } } }); } //3 修改按鈕功能的實(shí)現(xiàn)---------代碼 private void btnModify() { btn_threemodify.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //修改數(shù)據(jù)代碼如何寫呢?參數(shù):(表名,ContentValues 對(duì)象,更新的條件,條件的參數(shù)) ContentValues values=new ContentValues(); values.put("deparment",edit_threedep.getText().toString()); db.update("stu_info",values,"sno=?",new String[]{edit_threesno.getText().toString()}); Toast.makeText(ThirdActivity.this,"修改成功",Toast.LENGTH_SHORT).show(); } }); } //4 下一頁按鈕功能的實(shí)現(xiàn)------代碼 private void btnNext() { btn_threenext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(ThirdActivity.this,FourActivity.class); startActivity(intent); finish(); } }); } }
4、代碼講解
(1)update()方法的四個(gè)參數(shù)
update(String table,ContentValues values,String whereClause,String[ ] whereArgs)
1、第一個(gè)參數(shù)表名;
2、第二個(gè)參數(shù)是ContentValues對(duì)象,要把更新的數(shù)據(jù)在這里組裝進(jìn)去;
3、第三個(gè)參數(shù)是更新的條件
4、第四個(gè)參數(shù)是條件的參數(shù)
(2)總結(jié)
五、刪除數(shù)據(jù)
1、界面效果圖
2、布局界面 activity_ four.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/deletebg" tools:context=".FourActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="信息刪除頁面" android:textSize="30sp" android:textStyle="bold" android:textColor="#000000" android:layout_gravity="center" android:layout_margin="80dp"/> <EditText android:id="@+id/editText_foursno" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入要?jiǎng)h除的學(xué)號(hào)" android:textSize="25sp"/> <Button android:id="@+id/button_fourdelete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="刪除" android:textSize="25sp" android:layout_gravity="right"/> </LinearLayout>
3、類文件 FourActivity.java
public class FourActivity extends AppCompatActivity { //定義對(duì)象 EditText edit_foursno; Button btn_fourdelete; MyDBOpenHelper mhelper;//定義一個(gè)數(shù)據(jù)庫幫助類對(duì)象 SQLiteDatabase db;//定義一個(gè)操作的數(shù)據(jù)庫的類對(duì)象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_four); //1 控件初始化 initView(); //2 刪除按鈕功能的實(shí)現(xiàn) btnDelete(); } //1 控件初始化----------代碼 private void initView() { edit_foursno=findViewById(R.id.editText_foursno); btn_fourdelete=findViewById(R.id.button_fourdelete); mhelper=new MyDBOpenHelper(FourActivity.this);//實(shí)例化數(shù)據(jù)庫幫助類對(duì)象 db=mhelper.getWritableDatabase();//獲取數(shù)據(jù)庫的讀寫權(quán)限 } //2 刪除按鈕功能的實(shí)現(xiàn)-----代碼 private void btnDelete() { btn_fourdelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //怎么樣刪除呢?參數(shù):(表名,刪除的條件,條件的參數(shù)) db.delete("stu_info","sno=?",new String[]{edit_foursno.getText().toString()}); Toast.makeText(FourActivity.this,"刪除成功",Toast.LENGTH_SHORT).show(); } }); } }
4、代碼講解
(1)delete()方法的三個(gè)參數(shù)
delete(String table,String whereClause,String[ ] whereArgs)
1、第一個(gè)參數(shù):表名;
2、第二個(gè)參數(shù):刪除的條件
3、第三個(gè)參數(shù):條件的參數(shù)
(2)總結(jié)
到此這篇關(guān)于Android內(nèi)置SQLite的使用詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Android SQLite使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android Kotlin使用SQLite案例詳解
- android中SQLite使用及特點(diǎn)
- android studio使用SQLiteOpenHelper()建立數(shù)據(jù)庫的方法
- Android Studio 通過登錄功能介紹SQLite數(shù)據(jù)庫的使用流程
- android 中 SQLiteOpenHelper的封裝使用詳解
- Android開發(fā)之使用SQLite存儲(chǔ)數(shù)據(jù)的方法分析
- Android中SQLite 使用方法詳解
- Android使用SQLite數(shù)據(jù)庫的示例
- Android開發(fā)中使用sqlite實(shí)現(xiàn)新聞收藏和取消收藏的功能
相關(guān)文章
詳解Android studio ndk配置cmake開發(fā)native C
這篇文章主要介紹了詳解Android studio ndk配置cmake開發(fā)native C,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09Android 自定義View之邊緣凹凸的優(yōu)惠券效果的開發(fā)過程
這篇文章主要介紹了Android 自定義View之邊緣凹凸的優(yōu)惠券效果,主要總結(jié)一下在自定義View的開發(fā)過程中需要注意的一些地方.需要的朋友可以參考下2018-03-03android編程實(shí)現(xiàn)設(shè)置、打開wifi熱點(diǎn)共享供他人連接的方法
這篇文章主要介紹了android編程實(shí)現(xiàn)設(shè)置、打開wifi熱點(diǎn)共享供他人連接的方法,涉及Android創(chuàng)建WiFi及設(shè)置共享的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Android仿今日頭條滑動(dòng)頁面導(dǎo)航效果
這篇文章主要為大家詳細(xì)介紹了Android仿今日頭條滑動(dòng)頁面導(dǎo)航效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01Android服務(wù)應(yīng)用ClockService實(shí)現(xiàn)鬧鐘功能
這篇文章主要為大家詳細(xì)介紹了Android服務(wù)應(yīng)用ClockService實(shí)現(xiàn)鬧鐘功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11Android開發(fā)實(shí)現(xiàn)圖片平移、縮放、倒影及旋轉(zhuǎn)功能的方法
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)圖片平移、縮放、倒影及旋轉(zhuǎn)功能的方法,涉及Android針對(duì)圖片的讀取、寫入、屬性設(shè)置及矩陣運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Android數(shù)據(jù)持久化之ContentProvider機(jī)制詳解
這篇文章主要介紹了Android數(shù)據(jù)持久化之ContentProvider機(jī)制,結(jié)合實(shí)例形式分析了ContentProvider機(jī)制的原理與相關(guān)使用技巧,需要的朋友可以參考下2017-05-05Flutter質(zhì)感設(shè)計(jì)之列表項(xiàng)
這篇文章主要為大家詳細(xì)介紹了Flutter質(zhì)感設(shè)計(jì)之列表項(xiàng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08