Android資料庫之基本概念(上)

來源:互聯網
上載者:User

標籤:android   sqlite   sqliteopenhelper   android資料庫   

1.Android資料庫簡介

Android通過結合使用SQLite資料庫和Content Provider,提供了結構化資料的持久功能。

SQLite資料庫可以通過一種結構化的、易於管理的方法來儲存應用程式資料。Android提供了一個完整的SQLite關聯式資料庫的庫檔案。每個應用程式都可以建立自己的資料庫,並對這個資料庫擁有完全的控制權。

Android資料庫儲存在裝置上的/data/data/<package name>/database檔案夾中,所有的資料庫都是私人的,只能被建立他們的應用程式訪問。

2.Content Provider簡介

Content Provider提供了一種基於使用“content://”模式的簡單URI定址模型來發布和使用資料的介面,是安卓四大組件之一。

建立了底層資料存放區之後,就可以使用Content Provider,它通過底層資料來源執行了一致的抽象,使得應用程式不必過於依賴某個資料來源。

使用它可以實現應用程式間資料的共用,比如我們的應用可以調取簡訊或連絡人的操作。當然我們也發行就緒我們自己的Content Provider,這樣別人就可以在他們的應用中對我們的資料庫進行CRUD的操作了。

具體使用方法,後期會有專題進行介紹。

3.SQLite簡介

SQLite是一種流行的關聯式資料庫管理系統(Relational Database Manager System)。特徵為:開源 符合標準 輕量級。它已經被實現為簡潔的C語言,並且成為Android軟體棧的一部分。

通過作為一個庫實現,而不是作為一個獨立的進程不斷執行,每個SQLite資料庫成為建立它的應用程式的完整部分。這樣做能減少應用程式的外部依賴性、最小化延遲並簡化事務鎖定和同步。

SQLite非常可靠,是許多消費類電子產品(如很多MP3播放器和智能手機)首選的資料庫系統。

4.Content Value和Cursor

Content Value用來向資料庫中的表插入新的行。每一個ContentValues對象都將一個表行表示為列名到值得映射。

資料庫查詢作為Cursor對象返回。Cursor是底層資料中的結果集的指標,他沒有提取和返回結果值得副本。

Cursor的常用方法:

cursor.moveToFirst();//把遊標移動到查詢結果中的第一行        cursor.moveToNext();//把遊標移動到下一行        cursor.moveToLast();//把遊標移動到最後一行        cursor.moveToPrevious();//把遊標往前移動一行        cursor.getCount();//擷取結果集的數量        cursor.getColumnIndexOrThrow("");//根據指定列名返回其索引,從0開始,沒有則拋出異常        cursor.getColumnNames();//擷取當前cursor中的所有列名的字串資料        cursor.getColumnName(1);//根據索引返回列名        cursor.moveToPosition(1);//把遊標移動到指定行        cursor.getPosition();//擷取當前遊標的位置
5.SQLiteOpenHelper簡介

SQLiteOpenHelper是一個抽象類別,用於實現建立、開啟和升級資料庫。

SQLiteOpenHelper會在成功開啟資料庫執行個體後再緩衝它們,所以我們可以在要執行查詢或事務前請求開啟資料庫,除非我們不再需要使用資料庫,否則無需手動關閉他們。
資料庫操作特別是開啟和建立的額時候需要很長的時間才能完成,因此為了確保這些操作不會影響使用者體驗,應使資料庫操作非同步執行。

一般,在我們的應用中需要定義一個類繼承SQLiteOpenhelper類,通過重寫其建構函式 onCreate onUpgrade方法來分別處理建立資料庫和升級到新版本資料庫。


一些資料庫基本的概念就簡單介紹到這了,下一篇實戰代碼介紹一下android資料庫的增刪改查操作。


Android資料庫之基本概念(上)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.