1. 程式人生 > >ANDROID開發之SQLite詳解

ANDROID開發之SQLite詳解

SQLite簡介

Google為Andriod的較大的資料處理提供了SQLite,他在資料儲存、管理、維護等各方面都相當出色,功能也非常的強大。SQLite具備下列特點:

1.輕量級

使用 SQLite 只需要帶一個動態庫,就可以享受它的全部功能,而且那個動態庫的尺寸想當小。

2.獨立性

SQLite 資料庫的核心引擎不需要依賴第三方軟體,也不需要所謂的“安裝”。

3.隔離性

SQLite 資料庫中所有的資訊(比如表、檢視、觸發器等)都包含在一個資料夾內,方便管理和維護。

4.跨平臺

SQLite 目前支援大部分作業系統,不至電腦作業系統更在眾多的手機系統也是能夠執行,比如:Android。

5.多語言介面

SQLite 資料庫支援多語言程式設計介面。

6.安全性

SQLite 資料庫通過資料庫級上的獨佔性和共享鎖來實現獨立事務處理。這意味著多個程序可以在同一時間從同一資料庫讀取資料,但只能有一個可以寫入資料。

Android中的SQLite使用

首先建立資料庫類

public class DatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "mydata.db"; //資料庫名稱 private
 static final int version = 1; //資料庫版本 public DatabaseHelper(Context context) { super(context, DB_NAME, null, version); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { String sql = "create table user(username varchar(20) not null , password varchar(60) not null );"
;          db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }

SQLiteOpenHelper類介紹

SQLiteOpenHelper是SQLiteDatabase的一個幫助類,用來管理資料庫的建立和版本的更新。一般是建立一個類繼承它,並實現它的onCreate和onUpgrade方法。

方法名 方法描述
SQLiteOpenHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version) 構造方法,一般是傳遞一個要建立的資料庫名稱那麼引數
onCreate(SQLiteDatabase db) 建立資料庫時呼叫
onUpgrade(SQLiteDatabase db,int oldVersion , int newVersion) 版本更新時呼叫
getReadableDatabase() 建立或開啟一個只讀資料庫
getWritableDatabase() 建立或開啟一個讀寫資料庫

下面來介紹呼叫的方法

建立資料庫

這裡特別的地方是通過呼叫了SQLiteOpenHelper類的getReadableDatabase()方法來實現建立一個數據庫的

1 2 3 DatabaseHelper database = new DatabaseHelper(this);//這段程式碼放到Activity類中才用this SQLiteDatabase db = null; db = database.getReadalbeDatabase();

SQLiteDatabase類為我們提供了很多種方法,而較常用的方法如下

(返回值)方法名 方法描述
(int) delete(String table,String whereClause,String[] whereArgs) 刪除資料行的便捷方法
(long) insert(String table,String nullColumnHack,ContentValues values) 新增資料行的便捷方法
(int) update(String table, ContentValues values, String whereClause, String[] whereArgs) 更新資料行的便捷方法
(void) execSQL(String sql) 執行一個SQL語句,可以是一個select或其他的sql語句
(void) close() 關閉資料庫
(Cursor) query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) 查詢指定的資料表返回一個帶遊標的資料集
(Cursor) rawQuery(String sql, String[] selectionArgs) 執行一個預置的SQL語句,返回帶遊標的資料集(與上面的語句最大的區別就是防止SQL注入)

資料的添刪改查分別可以通過2種途徑來實現

資料的新增

1.使用insert方法

相關推薦

ANDROID開發SQLite

SQLite簡介 Google為Andriod的較大的資料處理提供了SQLite,他在資料儲存、管理、維護等各方面都相當出色,功能也非常的強大。SQLite具備下列特點: 1.輕量級 使用 SQLite 只需要帶一個動態庫,就可以享受它的全部功能

Android開發SharedPreferences

一、概述 利用SharedPreferences儲存資料是Android本地儲存資料的方式之一。SharedPreferences主要用於儲存基本型別的資料,例如int、long、string、Boo

Android開發學習SQLite

一.SQLite的介紹 1.SQLite簡介  SQLite是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入 式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援 Windo

Android開發儲存方式SQLite使用例項

使用SQL語句完成SQLite資料庫的建立、插入和查詢:import android.app.Activity; import android.database.Cursor; import andr

Android PaintMaskFilter

尊重原創,轉載請標明出處    http://blog.csdn.net/abcdef314159 這一篇來簡單分析一下Paint的setMaskFilter(MaskFilter maskfilter)方法,其中MaskFilter有兩個子類,一個B

Android PaintPathEffect

尊重原創,轉載請標明出處    http://blog.csdn.net/abcdef314159 在之前講 Android Paint的使用詳解的時候,其中有一個方法setPathEffect(PathEffect effect)沒有詳細介

Android PaintColorFilter

尊重原創,轉載請標明出處    http://blog.csdn.net/abcdef314159 在之前講到Android Paint的使用詳解的時候,其中setColorFilter(ColorFilter filter)方法沒有講,今天就來簡單的

IOS開發Block

從Mac OS X 10.6以及iOS4開始,蘋果在GCC和Clang編譯器中為C語言引入了一個新擴充套件:Blocks,使得程式設計師可以在C、Objective-C、C++和Objective-C中使用閉包。Blocks有點像函式,但是它可以在其它函式或方法中進行宣告和定義,同時它還是匿名的(匿名函式)

Cocos2d—X遊戲開發CCTableView(十一)(附原始碼)

本來很早就想寫關於CCTableView的文章,但是在基本功能實現之後呢,專案需求增加導致對這個控制元件的研究必須更加深入一點. 好的,現在開始介紹一下這個控制元件,在Cocos2d—X引擎中,這是一個仿製iOS裡面的NSTableView的一個控制元件。 S1,使用這個

Android開發Zip下載

本篇部落格為需求而發燒,若有雷同需求code拿走不謝。 需求如下:點選Item,從伺服器下載zip包到本地資料夾並解壓,解壓後的圖片檔案全部查詢出來,用於介面預覽 沒有強制每次都下載zip包保持最新,如果有需要FileDownload有函式支援,亦

Android Camera2 CameraCharacteristics

一、簡介 CameraCharacteristics 是專門用來描述相機裝置屬性的一個類,繼承自 CameraMetadata 類。給對給定的相機,它裡面所包含的屬性都是 固定的 。 包括:曝光補償(Exposure compensation)、自動曝光/自動對焦/自動白平衡模式

Android Camera2 CameraDevice

一、簡介 CameraDevice 是一個連線的相機裝置代表,你可以把它看作為相機裝置在 java 程式碼中的表現。類比於舊 API 中的 Camera 類。 官方文件連結:https://developer.android.google.cn/reference/android

Android Camera2 CameraManager

一、簡介 CameraManager 是系統服務之一,專門用於 檢測 和 開啟相機,以及 獲取相機裝置特性。 官方文件其實說的蠻清楚的了,英文好的同學也可以直接看官方文件把:https://developer.android.google.cn/reference/android

JAVAWEB開發Hibernate(二)——Hibernate的持久化類狀態與轉換、以及一級快取、關聯關係的對映(一對多、多對多、級聯)

package cn.test.hibernate3.demo2; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import cn.test.hibernate3.demo2.

Android Camera2 CameraCaptureSession

一、簡介 CameraCaptureSession 是一個事務,用來向相機裝置傳送獲取影象的請求。 主要有 setRepeatingRequest() 和 capture() 方法。setRepeatingRequest() 是重複請求獲取影象資料,常用於預覽或連拍,captur

IOS 資料儲存 SQLite

// ViewController.m // JRSQLite查詢3 // // Created by jerehedu on 15/6/16. // Copyright (c) 2015年 jerehedu. All rights reserved. // #import "Vi

JAVAWEB開發Lucene——Lucene入門及使用場景、全文檢索、索引CRUD、優化索引庫、分詞器、高亮、相關度排序、各種查詢

Lucene入門 應用場景 windows系統中的有搜尋功能:開啟“我的電腦”,按“F3”就可以使用查詢的功能,查詢指定的檔案或資料夾。搜尋的範圍是整個電腦中的檔案資源。 Eclipse中的幫助子系統:點選Help->Help Contents,可以查找出相關的幫助資

Android開發——DiskLruCache用法以及工作原理深度解析

     初探       相信所有人都知道,網易新聞中的資料都是從網路上獲取的,包括了很多的新聞內容和新聞圖片,如下圖所示:       但是不知道大家有沒有發現,這些內容和圖片在從網路上獲取到之後都會存入到本地快取中,因此即使手機在沒有網路的情況下依然能夠加載出以前瀏覽過的新聞。而使用的快取技術不

JAVAWEB開發Spring——Spring的入門以及IOC容器裝配Bean(xml和註解的方式)、Spring整合web開發、整合Junit4測試

public class BeanFactory{    public UserService getUserService(){         // 反射+配置檔案        return Class.forName(類名).newInStance();     } } xml、pro

Android入門畫圖

www.666fo.com這篇文章主要介紹了Android入門之畫圖,對Android初學者有很好的學習借鑑價值,需要的朋友可以參考下 前文常用的控制元件介紹了不少,現在就來討論一下手機開發中常用到的畫圖。要掌握Android的畫圖,首先就要了解一下,基本用到的如下一些圖形