android studio使用SQLiteOpenHelper()建立數(shù)據(jù)庫(kù)的方法
在android studio中存儲(chǔ)數(shù)據(jù)有三個(gè)方法,分別是:
(1)簡(jiǎn)單存儲(chǔ)——SharedPreferences
(2)文件存儲(chǔ):內(nèi)部存儲(chǔ)——應(yīng)用程序私有文件外部存儲(chǔ)——SD卡資源文件——只讀( RAW 、XML)
(3)數(shù)據(jù)庫(kù)存儲(chǔ)——SQLiteDataBase
今天我們講講在android studio中利用數(shù)據(jù)庫(kù)存儲(chǔ)中的SQLiteOpenHelper()方法建立數(shù)據(jù)庫(kù) SQLiteOpenH
elper中需要重載函數(shù):
onCreate( ):利用SQL語(yǔ)句,在系統(tǒng)中創(chuàng)建數(shù)據(jù)庫(kù)(表)功能
onUpgrade( ):利用SQL語(yǔ)句,在系統(tǒng)中升級(jí)數(shù)據(jù)庫(kù)(表)功能
注:
onCreate()方法只有第一次數(shù)據(jù)庫(kù)創(chuàng)建時(shí)會(huì)用到 onUpgrade( )方法在版本更新會(huì)用到
SQLiteOpenHelper中被調(diào)用的函數(shù): getWritable
Database( ):獲取一個(gè)可讀寫的SQLiteDatabase對(duì)象
getReadableDatabase( ):獲取一個(gè)只讀的SQLiteDatabase對(duì)象
創(chuàng)建數(shù)據(jù)庫(kù)
1.新建一個(gè)類繼承SQLiteOpenHelper
這里按Alt+Enter倆次添加構(gòu)造方法
public class MySQLOpenHelper extends SQLiteOpenHelper { public MySQLOpenHelper(@Nullable Context context , @Nullable String name , @Nullable SQLiteDatabase.CursorFactory factory , int version) { super( context , name , factory , version ); }
(1)這個(gè)方法里面是用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)的
context是一個(gè)訪問application環(huán)境全局信息的接口,通過它可以訪問application的資源和相關(guān)的類 context其主要功能如下:?jiǎn)?dòng)Activity 啟動(dòng)和停止Service 發(fā)送廣播消息(Intent) 注冊(cè)廣播消息(Intent)接收者可以訪問APK中各種資源(如Resources和AssetManager等) 可以訪問Package的相關(guān)信息 APK的各種權(quán)限管理 Context就是一個(gè)對(duì)APK包無(wú)所不知的大管家,大家需要什么,直接問它就可以了(2)name是數(shù)據(jù)庫(kù)的名字(3)CursorFactory factory游標(biāo)工廠,用來(lái)指向數(shù)據(jù)庫(kù)里面的某一行 CursorFactory 用來(lái)創(chuàng)建游標(biāo)的,默認(rèn)值為null,指向一開始的位置 (4)version數(shù)據(jù)庫(kù)的版本號(hào) 版本號(hào)只能增加,不能遞減,要不然程序會(huì)崩潰
其他倆個(gè)方法是用來(lái)創(chuàng)建表的,接下來(lái)會(huì)講到我們繼續(xù)構(gòu)建數(shù)據(jù)庫(kù):在 MySQLOpenHelper類中重構(gòu)代碼:
public class MySQLOpenHelper extends SQLiteOpenHelper { public MySQLOpenHelper(@Nullable Context context ) {//name是數(shù)據(jù)庫(kù)名字,后綴加.db super( context , 'SQLite.db' , null , 1 ); }
在MainActivity類中調(diào)用這個(gè)方法
MySQLOpenHelper helper=new MySQLOpenHelper( this );
然后再在MainActivity類中實(shí)例化數(shù)據(jù)庫(kù)添加代碼如下
MySQLOpenHelper helper=new MySQLOpenHelper( this ); //創(chuàng)建一個(gè)可讀可寫的數(shù)據(jù)庫(kù) SQLiteDatabase writableDatabase=helper.getWritableDatabase(); //創(chuàng)建一個(gè)只可讀的數(shù)據(jù)庫(kù) SQLiteDatabase readableDatabase=helper.getReadableDatabase();
這個(gè)讀者看需要自行構(gòu)建代碼,(只能存在一個(gè))
我們的數(shù)據(jù)庫(kù)創(chuàng)建完成了,接下來(lái)看看我們的數(shù)據(jù)庫(kù)是否創(chuàng)建成功了呢在看之前我們先運(yùn)行我們的虛擬機(jī),因?yàn)閿?shù)據(jù)庫(kù)是建立在虛擬機(jī)里面的,運(yùn)行完之后我們?nèi)フ覄?chuàng)建的文件。
android3.0以前打開虛擬機(jī)中的文件是用導(dǎo)航欄中的Tools中Android,3.0以后為了提供的更新工具把它舍棄了但我們可以通過View導(dǎo)航欄中Tool Windows中的Device File Explorer打開,找到data目錄下的data下的程序的包名,找到創(chuàng)建的數(shù)據(jù)庫(kù)(.db文件//另一個(gè)是相對(duì)應(yīng)的日記文件),右鍵重新建立目錄,然后用SQLite Expert Professional打開 SQLite Expert Professional下載地址:http://www.sqliteexpert.com 找到的文件如圖
用SQLite Expert Professional 打開后如圖
說(shuō)明我們數(shù)據(jù)庫(kù)已經(jīng)創(chuàng)建好了
總結(jié)
到此這篇關(guān)于android studio使用SQLiteOpenHelper()建立數(shù)據(jù)庫(kù)的方法的文章就介紹到這了,更多相關(guān)android studio建立數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )2. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法3. MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對(duì)應(yīng)關(guān)系說(shuō)明4. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲5. django創(chuàng)建css文件夾的具體方法6. 利用CSS制作3D動(dòng)畫7. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法8. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)9. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼10. ASP中實(shí)現(xiàn)字符部位類似.NET里String對(duì)象的PadLeft和PadRight函數(shù)
