Android操作SQLite基本用法
前言
SQLite是一個(gè)進(jìn)程內(nèi)的庫,實(shí)現(xiàn)了自給自足的、無服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫引擎。它是一個(gè)零配置的數(shù)據(jù)庫,這意味著與其他數(shù)據(jù)庫不一樣,您不需要在系統(tǒng)中配置。就像其他數(shù)據(jù)庫,SQLite 引擎不是一個(gè)獨(dú)立的進(jìn)程,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動(dòng)態(tài)連接。SQLite 直接訪問其存儲(chǔ)文件。
為什么要使用SQLite
- 不需要一個(gè)單獨(dú)的服務(wù)器進(jìn)程或操作的系統(tǒng)(無服務(wù)器的)。
- SQLite 不需要配置,這意味著不需要安裝或管理。
- 一個(gè)完整的 SQLite 數(shù)據(jù)庫是存儲(chǔ)在一個(gè)單一的跨平臺(tái)的磁盤文件。
- SQLite 是非常小的,是輕量級(jí)的,完全配置時(shí)小于 400KiB,省略可選功能配置時(shí)小于250KiB。
- SQLite 是自給自足的,這意味著不需要任何外部的依賴。
- SQLite 事務(wù)是完全兼容 ACID 的,允許從多個(gè)進(jìn)程或線程安全訪問。
- SQLite 支持 SQL92(SQL2)標(biāo)準(zhǔn)的大多數(shù)查詢語言的功能。
- SQLite 使用 ANSI-C 編寫的,并提供了簡(jiǎn)單和易于使用的 API。
- SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運(yùn)行。
綜合來看,即輕量
兼容
多端
無需配置
無外部依賴
擁有簡(jiǎn)單易懂的API
安全
在Android中如何使用
Android 提供的 SQLiteOpenHelper.java 是一個(gè)抽象類。那么在Eclipse中創(chuàng)建Class類時(shí),選擇此抽象類模板即可,而在Android Studio中,必須自己寫一個(gè)類來繼承它,根據(jù)平時(shí)類名稱簡(jiǎn)潔易懂的習(xí)慣上,我們創(chuàng)建的都是MyDataBaseHelper.java或DataBaseHelper.java簡(jiǎn)寫DBHelper.java。
數(shù)據(jù)庫如何創(chuàng)建
Android Studio中
右鍵需要?jiǎng)?chuàng)建數(shù)據(jù)庫.java文件的包,選擇new
,選擇新建Class
在彈出框中選擇輸入類名稱
這一行規(guī)定死了,只能是這樣的:
public class DBHelper extends SQLiteOpenHelper{ }
需要寫一個(gè)帶全部參數(shù)的DBHelper類的構(gòu)造函數(shù)以便于生成數(shù)據(jù)庫對(duì)象:
//帶有全部參數(shù)的構(gòu)造函數(shù),此構(gòu)造函數(shù)是必須需要的。Eclipse和Android Studio均有自動(dòng)填充功能 public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); }
繼承的抽象類SQLiteOpenHelper中的兩個(gè)抽象方法:
@Override public void onCreate(SQLiteDatabase db) { //創(chuàng)建數(shù)據(jù)庫sql語句 String sql = "create table user(name varchar(20))"; //執(zhí)行sql語句 db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }
Eclipse中
右鍵需要?jiǎng)?chuàng)建數(shù)據(jù)庫.java文件的包,選擇new
,選擇新建Class
在彈出框中選擇SQLiteOpenHelper
點(diǎn)擊Finish
即創(chuàng)建成功
數(shù)據(jù)庫如何生成
第一句代碼中,創(chuàng)建Activity時(shí)會(huì)自動(dòng)生成。在Activity中創(chuàng)建數(shù)據(jù)庫,這里我們給數(shù)據(jù)庫起名為“info.db”,數(shù)據(jù)庫版本號(hào)為1,代碼如下:
//依靠DatabaseHelper帶全部參數(shù)的構(gòu)造函數(shù)創(chuàng)建數(shù)據(jù)庫 DBHelper dbHelper = new DBHelper(MainActivity.this, "info.db",null,1); SQLiteDatabase db = dbHelper.getWritableDatabase();
數(shù)據(jù)庫的增刪改查
增
db.insert();
刪
db.delete();
改
db.update();
查
Cursor cursor = db.rawQuery("select * from info.db", null); if (cursor.getCount() != 0) { }
以上所述是小編給大家介紹的Android操作SQLite基本用法,希望對(duì)大家有所幫助。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能示例
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能,涉及Android使用ListView結(jié)合adapter適配器實(shí)現(xiàn)圖文顯示功能相關(guān)的布局、解析、權(quán)限控制等操作技巧,需要的朋友可以參考下2019-04-04深入淺出RxJava+Retrofit+OkHttp網(wǎng)絡(luò)請(qǐng)求
本篇文章主要介紹了深入淺出RxJava+Retrofit+OkHttp網(wǎng)絡(luò)請(qǐng)求,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11Android編程實(shí)現(xiàn)微信分享信息的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)微信分享信息的方法,實(shí)例分析了Android官方demo示例,講述了Android微信分享功能的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-10-10android實(shí)現(xiàn)讀取、搜索聯(lián)系人的代碼
本文給大家分享的是在安卓系統(tǒng)中實(shí)現(xiàn)讀取搜索聯(lián)系人的代碼,非常的實(shí)用,想學(xué)習(xí)安卓開發(fā)的小伙伴一定不要錯(cuò)過。2015-03-03Android Build類的詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android Build類的詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,希望通過本文大家能夠理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-08-08Android 彩色Toast的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 彩色Toast的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10AndroidStudio構(gòu)建項(xiàng)目提示錯(cuò)誤信息“unable to find valid certification”的
這篇文章主要介紹了AndroidStudio構(gòu)建項(xiàng)目提示“unable to find valid certification”最新解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Android?DialogFragment使用之底部彈窗封裝示例
這篇文章主要為大家介紹了Android?DialogFragment使用之底部彈窗封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09