Android ,SQLite基本用法
一.SQLite的介紹
1.SQLite簡介
SQLite是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入 式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援 Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如Tcl、PHP、Java、C++、.Net等,還有ODBC介面,同樣比起 Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。
2.SQLite的特點:
-
輕量級
SQLite和C/S模式的資料庫軟體不同,它是程序內的資料庫引擎,因此不存在資料庫的客戶端和伺服器。使用SQLite一般只需要帶上它的一個動態 庫,就可以享受它的全部功能。而且那個動態庫的尺寸也挺小,以版本3.6.11為例,Windows下487KB、Linux下347KB。
-
不需要"安裝"
SQLite的核心引擎本身不依賴第三方的軟體,使用它也不需要"安裝"。有點類似那種綠色軟體。
-
單一檔案
資料庫中所有的資訊(比如表、檢視等)都包含在一個檔案內。這個檔案可以自由複製到其它目錄或其它機器上。
-
跨平臺/可移植性
除了主流作業系統 windows,linux之後,SQLite還支援其它一些不常用的作業系統。
-
弱型別的欄位
同一列中的資料可以是不同型別
-
開源
這個相信大家都懂的!!!!!!!!!!!!
3.SQLite資料型別
一般資料採用的固定的靜態資料型別,而SQLite採用的是動態資料型別,會根據存入值自動判斷。SQLite具有以下五種常用的資料型別:
NULL: 這個值為空值
VARCHAR(n):長度不固定且其最大長度為 n 的字串,n不能超過 4000。
CHAR(n):長度固定為n的字串,n不能超過 254。
INTEGER: 值被標識為整數,依據值的大小可以依次被儲存為1,2,3,4,5,6,7,8.
REAL: 所有值都是浮動的數值,被儲存為8位元組的IEEE浮動標記序號.
TEXT: 值為文字字串,使用資料庫編碼儲存(TUTF-8, UTF-16BE or UTF-16-LE).
BLOB: 值是BLOB資料塊,以輸入的資料格式進行儲存。如何輸入就如何儲存,不改 變格式。
DATA :包含了 年份、月份、日期。
TIME: 包含了 小時、分鐘、秒。
相信學過資料庫的童鞋對這些資料型別都不陌生的!!!!!!!!!!
二.SQLiteDatabase的介紹
Android提供了建立和是用SQLite資料庫的API。SQLiteDatabase代表一個數據庫物件,提供了操作資料庫的一些方法。在Android的SDK目錄下有sqlite3工具,我們可以利用它建立資料庫、建立表和執行一些SQL語句。下面是SQLiteDatabase的常用方法。
SQLiteDatabase的常用方法
Google公司命名這些方法的名稱都是非常形象的。例如openOrCreateDatabase,我們從字面英文含義就能看出這是個開啟或建立資料庫的方法。
1、開啟或者建立資料庫
在Android 中使用SQLiteDatabase的靜態方法openOrCreateDatabase(String path,SQLiteDatabae.CursorFactory factory)開啟或者建立一個數據庫。它會自動去檢測是否存在這個資料庫,如果存在則開啟,不存在則建立一個數據庫;建立成功則返回一個SQLiteDatabase物件,否則丟擲異常FileNotFoundException。
下面是建立名為“stu.db”資料庫的程式碼:
openOrCreateDatabase(String path,SQLiteDatabae.CursorFactory factory)
引數1 資料庫建立的路徑
引數2 一般設定為null就可以了
[sql] view plain copy print?- db=SQLiteDatabase.openOrCreateDatabase("/data/data/com.lingdududu.db/databases/stu.db",null);
2、建立表
建立一張表的步驟很簡單:
- 編寫建立表的SQL語句
-
呼叫SQLiteDatabase的execSQL()方法來執行SQL語句
下面的程式碼建立了一張使用者表,屬性列為:id(主鍵並且自動增加)、sname(學生姓名)、snumber(學號)
[sql] view plain copy print?
- private void createTable(SQLiteDatabase db){
- //建立表SQL語句
- String stu_table="create table usertable(_id integer primary key autoincrement,sname text,snumber text)";
- //執行SQL語句
- db.execSQL(stu_table);
- }
3、插入資料
插入資料有兩種方法:
①SQLiteDatabase的insert(String table,String nullColumnHack,ContentValues values)方法,
引數1 表名稱,
引數2 空列的預設值
引數3 ContentValues型別的一個封裝了列名稱和列值的Map;
②編寫插入資料的SQL語句,直接呼叫SQLiteDatabase的execSQL()方法來執行
第一種方法的程式碼:
[sql] view plain copy print?
- private void insert(SQLiteDatabase db){
- //例項化常量值
- ContentValues cValue = new ContentValues();
- //新增使用者名稱
- cValue.put("sname","xiaoming");
- //新增密碼
- cValue.put("snumber","01005");
- //呼叫insert()方法插入資料
- db.insert("stu_table",null,cValue);
- }
第二種方法的程式碼:
[sql] view plain copy print?
- private void insert(SQLiteDatabase db){
- //插入資料SQL語句
- String stu_sql="insert into stu_table(sname,snumber) values('xiaoming','01005')";
- //執行SQL語句
- db.execSQL(sql);
- }
4、刪除資料
刪除資料也有兩種方法:
①呼叫SQLiteDatabase的delete(String table,String whereClause,String[] whereArgs)方法
引數1 表名稱
引數2 刪除條件
引數3 刪除條件值陣列
②編寫刪除SQL語句,呼叫SQLiteDatabase的execSQL()方法來執行刪除。
第一種方法的程式碼:
[sql] view plain copy print?
- private void delete(SQLiteDatabase db) {
- //刪除條件
- String whereClause = "id=?";
- //刪除條件引數
- String[] whereArgs = {String.valueOf(2)};
- //執行刪除
- db.delete("stu_table",whereClause,whereArgs);
- }
第二種方法的程式碼:
[sql] view plain copy print?
- private void delete(SQLiteDatabase db) {
- //刪除SQL語句
-
String sql = "delete from stu_table where _id = 6"
相關推薦
Android ,SQLite基本用法
在Android開發中SQLite起著很重要的作用,網上SQLite的教程有很多很多,不過那些教程大多數都講得不是很全面。本人總結了一些SQLite的常用的方法,藉著論壇的大賽,跟大家分享分享的。 一.SQLite的介紹 1.SQLite簡介 SQLit
Android 操作SQLite基本用法
一.SQLite的介紹 1.SQLite簡介 SQLite是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入 式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援 Window
總結常用的Transformation運算元和Action運算元,及基本用法
只有是Action時,才會執行立即操作。 Transformation是 lazy的操作,不會立即執行,執行Transformation的運算元時,會返回一個新的RDD,依賴上一個RDD transformation: 1、sortBy : 對於RDD的是非元組型,rdd1.soreB
Android之Retrofit基本用法篇
1.Retrofit基本用法 1.初始化 webInterface = new Retrofit.Builder() .baseUrl(hostname) .client(client)//這
sed,awk,grep基本用法
grep:文字搜尋 grep ‘w[ea]ll’ file_name 在file_name檔案中找到wall 或者是well 所在的所有行並顯示 grep ‘w[^e]ll’ file_name 在file_name檔案中找到”非well” 所在的所有行並顯示 grep
Android Volley的基本用法
1. Volley簡介 我們平時在開發Android應用的時候不可避免地都需要用到網路技術,而多數情況下應用程式都會使用HTTP協議來發送和接收網路資料。Android系統中主要提供了兩種方式來進行HTTP通訊,HttpURLConnection和HttpClient,
SQLite基本用法
在Android中一共提供了5種資料儲存方式,分別為: (1)Files:通過FileInputStream和FileOutputStream對檔案進行操作。具體使用方法可以參閱博文《Android學習筆記34:使用檔案儲存資料》。 (2)Shared Preferences:常用來儲存鍵
Android ActionBar的基本用法
1、ActionBar的簡介 ActionBar位於Activity的頂部,可用來顯示activity的標題、Icon、Actions和一些用於互動的View。它也可被用於應用的導航。 ActionBar 是在Android 3.0(API 11)中加入到SK中的,想在低
Android ActionBar的基本用法(轉自bigconvience)
1、ActionBar的簡介 ActionBar位於Activity的頂部,可用來顯示activity的標題、Icon、Actions和一些用於互動的View。它也可被用於應用的導航。 ActionBar 是在Android 3.0(API 11)中加入到SK中的
Android屬性動畫完全解析(上),初識屬性動畫的基本用法
fcm 操作 fad 擴展性 改變 內部使用 如果 轉載 @override 轉載請註明出處:http://blog.csdn.net/guolin_blog/article/details/43536355 在手機上去實現一些動畫效果算是件比較炫酷的事情,因此Andr
Android圖片載入框架最全解析(一),Glide的基本用法
現在Android上的圖片載入框架非常成熟,從最早的老牌圖片載入框架UniversalImageLoader,到後來Google推出的Volley,再到後來的新興軍Glide和Picasso,當然還有Facebook的Fresco。每一個都非常穩定,功能也都十分強大。但是它們
學習筆記:Android SQLite,並實現SQLite基本CRUD操作的Demo
package com.steven.mydatabasetest; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; im
Android 屬性動畫詳解,屬性動畫基本用法!
Hello,大家好,今天要給大家講的是Android 屬性動畫詳解! 在Tween動畫的討論中,我們提到在Android中動畫可以分為三類:①幀動畫②Tween(補間動畫)③Property Anim
(郭霖)Android圖片載入框架最全解析(一),Glide的基本用法
本文同步發表於我的微信公眾號,掃一掃文章底部的二維碼或在微信搜尋 郭霖 即可關注,每天都有文章更新。 現在Android上的圖片載入框架非常成熟,從最早的老牌圖片載入框架UniversalImageLoader,到後來Google推出的Volley,再到後來的新興軍Glide和Picas
Android學習筆記----SQLite資料庫基本用法
/*************************************************************************/ 資料庫 Android 為了讓我們能夠更加方
【Android】SQLite資料庫基本用法詳解(極簡潔)
Android操作SQLite資料庫(極簡潔,極易懂) 本篇原始碼地址: 原始碼裡面有詳細註釋,切記要修改一下gradle的版本號為本地gradle版本號,否則AndroidStduio會自行下載,浪費時間。 一、成品效果圖 Android
Android Volley完全解析(一),初識Volley的基本用法
1. Volley簡介我們平時在開發Android應用的時候不可避免地都需要用到網路技術,而多數情況下應用程式都會使用HTTP協議來發送和接收網路資料。Android系統中主要提供了兩種方式來進行HTTP通訊,HttpURLConnection和HttpClient,幾乎在任
list,map,set集合的基本用法及差異
nbsp htable body 根據 pos null clas 速度 就是 List:1.可以允許重復的對象。 2.可以插入多個null元素。 3.是一個有序容器,保持了每個元素的插入順序,輸出的順序就是插入的順序。 4.常用的實
Android ContentProvider基本用法
truct 數據共享 implement notify username 資源 per mime類型 exc 轉自:https://www.jianshu.com/p/601086916c8f 一、基本概念 ContentProvider是Android系統中提
第一節,基本用法
sat () port AI 臨時 width ble 取數 運算 推薦播客:我的Tensorflow學習之路 http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/basic_usage.html 項