Android編程之?dāng)?shù)據(jù)庫的創(chuàng)建方法詳解
本文實(shí)例講述了Android編程之?dāng)?shù)據(jù)庫的創(chuàng)建方法。分享給大家供大家參考,具體如下:
主java
package com.itheima.createdatabase; import android.app.Activity; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; public class MainActivity extends Activity { private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; //創(chuàng)建一個(gè)幫助類對(duì)象 MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext); //調(diào)用getReadableDatabase方法,來初始化數(shù)據(jù)庫的創(chuàng)建 SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase(); } }
同一目錄下創(chuàng)建一個(gè)類繼承于數(shù)據(jù)庫
package com.itheima.createdatabase; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MySqliteOpenHelper extends SQLiteOpenHelper { public MySqliteOpenHelper(Context context) { //context :上下文 , name:數(shù)據(jù)庫文件的名稱 factory:用來創(chuàng)建cursor對(duì)象,默認(rèn)為null //version:數(shù)據(jù)庫的版本號(hào),從1開始,如果發(fā)生改變,onUpgrade方法將會(huì)調(diào)用,4.0之后只能升不能將 super(context, "info.db", null,1); } //oncreate方法是數(shù)據(jù)庫第一次創(chuàng)建的時(shí)候會(huì)被調(diào)用; 特別適合做表結(jié)構(gòu)的初始化,需要執(zhí)行sql語句;SQLiteDatabase db可以用來執(zhí)行sql語句 @Override public void onCreate(SQLiteDatabase db) { //通過SQLiteDatabase執(zhí)行一個(gè)創(chuàng)建表的sql語句 db.execSQL("create table info (_id integer primary key autoincrement,name varchar(20))"); } //onUpgrade數(shù)據(jù)庫版本號(hào)發(fā)生改變時(shí)才會(huì)執(zhí)行; 特別適合做表結(jié)構(gòu)的修改 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //添加一個(gè)phone字段 db.execSQL("alter table info add phone varchar(11)"); } }
筆記:
什么情況下我們才用數(shù)據(jù)庫做數(shù)據(jù)存儲(chǔ)? 大量數(shù)據(jù)結(jié)構(gòu)相同的數(shù)據(jù)需要存儲(chǔ)時(shí)。
mysql sqlserver2000 sqlite 嵌入式 輕量級(jí)
SqliteOpenHelper
創(chuàng)建數(shù)據(jù)庫步驟:
1.創(chuàng)建一個(gè)類繼承SqliteOpenHelper,需要添加一個(gè)構(gòu)造方法,實(shí)現(xiàn)兩個(gè)方法oncreate ,onupgrade
構(gòu)造方法中的參數(shù)介紹:
context :上下文 , name:數(shù)據(jù)庫文件的名稱 factory:用來創(chuàng)建cursor對(duì)象,默認(rèn)為null
version:數(shù)據(jù)庫的版本號(hào),從1開始,如果發(fā)生改變,onUpgrade方法將會(huì)調(diào)用,4.0之后只能升不能降
super(context, "info.db", null,1);
2.創(chuàng)建這個(gè)幫助類的一個(gè)對(duì)象,調(diào)用getReadableDatabase()
方法,會(huì)幫助我們創(chuàng)建打開一個(gè)數(shù)據(jù)庫
3.復(fù)寫oncreate
和onupgrdate
方法:
oncreate方法是數(shù)據(jù)庫第一次創(chuàng)建的時(shí)候會(huì)被調(diào)用; 特別適合做表結(jié)構(gòu)的初始化,需要執(zhí)行sql語句;SQLiteDatabase db可以用來執(zhí)行sql語句
onUpgrade數(shù)據(jù)庫版本號(hào)發(fā)生改變時(shí)才會(huì)執(zhí)行; 特別適合做表結(jié)構(gòu)的修改
幫助類對(duì)象中的getWritableDatabase 和 getReadableDatabase都可以幫助我們獲取一個(gè)數(shù)據(jù)庫操作對(duì)象SqliteDatabase.
區(qū)別:
getReadableDatabase:
先嘗試以讀寫方式打開數(shù)據(jù)庫,如果磁盤空間滿了,他會(huì)重新嘗試以只讀方式打開數(shù)據(jù)庫。
getWritableDatabase:
直接以讀寫方式打開數(shù)據(jù)庫,如果磁盤空間滿了,就直接報(bào)錯(cuò)。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android操作SQLite數(shù)據(jù)庫技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android數(shù)據(jù)庫SD卡創(chuàng)建和圖片存取操作
- Android創(chuàng)建和使用數(shù)據(jù)庫SQLIte
- Android實(shí)現(xiàn)創(chuàng)建或升級(jí)數(shù)據(jù)庫時(shí)執(zhí)行語句
- android創(chuàng)建數(shù)據(jù)庫(SQLite)保存圖片示例
- Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
- Android使用SQLite數(shù)據(jù)庫的簡單實(shí)例
- Android中操作SQLite數(shù)據(jù)庫快速入門教程
- Android實(shí)現(xiàn)將已發(fā)送的短信寫入短信數(shù)據(jù)庫的方法
- Android SQLite數(shù)據(jù)庫增刪改查操作的案例分析
- 實(shí)例講解Android App使用自帶的SQLite數(shù)據(jù)庫的基本方法
- Android操作SQLite數(shù)據(jù)庫(增、刪、改、查、分頁等)及ListView顯示數(shù)據(jù)的方法詳解
相關(guān)文章
Android自定義帶動(dòng)畫效果的圓形ProgressBar
這篇文章主要為大家詳細(xì)介紹了Android自定義帶動(dòng)畫效果的圓形ProgressBar,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05Android編程實(shí)現(xiàn)QQ表情的發(fā)送和接收完整實(shí)例(附源碼)
這篇文章主要介紹了Android編程實(shí)現(xiàn)QQ表情的發(fā)送和接收的方法,涉及Android圖片資源、正則表達(dá)式及對(duì)話框的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Android實(shí)現(xiàn)水波紋擴(kuò)散效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)水波紋擴(kuò)散效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Android封裝實(shí)現(xiàn)短信驗(yàn)證碼的獲取倒計(jì)時(shí)
這篇文章主要介紹了Android封裝實(shí)現(xiàn)短信驗(yàn)證碼的獲取倒計(jì)時(shí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03Android實(shí)現(xiàn)圖片滾動(dòng)和頁簽控件功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android實(shí)現(xiàn)圖片滾動(dòng)控件含頁簽功能的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過來看看吧2018-05-05Android獲取網(wǎng)絡(luò)圖片并顯示的方法
這篇文章主要為大家詳細(xì)介紹了Android獲取網(wǎng)絡(luò)圖片并顯示的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Android中socket通信的簡單實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android中socket通信的簡單實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04