精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android平臺SQLite快速入門實踐

移動開發(fā) Android
在Android平臺,由于SQLite的特性,一切以文件為主,沒有順序的概念。我們可以通過查詢來得到滿足條件的記錄,通過SQL指令來操作數(shù)據(jù)庫。

SQLite是Android平臺軟件開發(fā)中會經(jīng)常用到的數(shù)據(jù)庫產(chǎn)品,作為一款輕型數(shù)據(jù)庫,SQLite的設(shè)計目標(biāo)就是是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠。下面我們一起來看看針對Android平臺的SQlite 3的使用。

以下概念都是在Android平臺的SQlite限制下的理解:

數(shù)據(jù)庫基礎(chǔ)概念

◆SQlite 通過文件來保存數(shù)據(jù)庫,一個文件就是一個數(shù)據(jù)庫。

◆數(shù)據(jù)庫里又包含數(shù)個表格;

◆每個表格里面包含了多個記錄;
 
◆每個記錄由多個字段組成;

◆每個字段都有其對應(yīng)的值;

◆每個值都可以指定類型。

數(shù)據(jù)庫名稱即文件名;表格有自己的名稱;記錄沒有名稱;每個字段都有名稱。在SQlite中,記錄沒有順序的概念,不存在***、第二此類的概念;只能通過查詢來獲取滿足條件的記錄。我們通過執(zhí)行SQL指令來操作數(shù)據(jù)庫。

Android平臺下數(shù)據(jù)庫相關(guān)類

◆SQLiteOpenHelper 抽象類:通過從此類繼承實現(xiàn)用戶類,來提供數(shù)據(jù)庫打開、關(guān)閉等操作函數(shù)。

◆SQLiteDatabase 數(shù)據(jù)庫訪問類:執(zhí)行對數(shù)據(jù)庫的插入記錄、查詢記錄等操作。

◆SQLiteCursor 查詢結(jié)構(gòu)操作類:用來訪問查詢結(jié)果中的記錄。

創(chuàng)建數(shù)據(jù)庫

假設(shè)使用一個數(shù)據(jù)庫存儲一個表格,表格中保存了多條記錄,每個記錄包含3個字段,分別是: ID、name、age。 從SQLiteOpenHelper繼承實現(xiàn)一個類,所有對數(shù)據(jù)庫的操作都封裝在此類中。

構(gòu)造函數(shù):

  1. public DbHelper(Context context, String name, CursorFactory factory, int version) {  
  2.         super(context, name, factory, version);  
  3.     }  

此函數(shù)中的參數(shù)name就是數(shù)據(jù)庫名稱,也就是數(shù)據(jù)庫文件名; version則從1開始,當(dāng)將來數(shù)據(jù)庫的表格以及字段發(fā)生變化時,用戶可以提高此version,從而觸發(fā)onUpgrade()達(dá)到舊數(shù)據(jù)升級的效果。

在onCreate函數(shù)中創(chuàng)建表格:

  1.       public void onCreate(SQLiteDatabase db) {  
  2.     StringBuilder sql = new StringBuilder();  
  3.     sql.append("CREATE TABLE ");  
  4.     sql.append(TBL_NAME);  
  5.     sql.append(" (");  
  6.     sql.append(FIELD_ID + " TEXT PRIMARY KEY NOT NULL, ");  
  7.     sql.append(FIELD_NAME + " TEXT, ");  
  8.     sql.append(FIELD_AGE + " INTEGER");  
  9.     sql.append(");");  
  10.     db.execSQL(sql.toString());  
  11. }  

onCreate函數(shù)只會在數(shù)據(jù)庫***次創(chuàng)建時調(diào)用,所以此處適合做一些數(shù)據(jù)庫初始化操作。

上面的函數(shù)最終實際上效果是執(zhí)行了SQL語句:
 
CREATE TABLE mytable (id TEXT PRIMARY KEY NOT NULL, name TEXT, age INTEGER); 

向表格中添加數(shù)據(jù)

有兩種方式可以向表格中添加數(shù)據(jù),一種是通過SQLiteDatabase提供的execSQL函數(shù)直接執(zhí)行SQL指令; 一種是通過SQLiteDatabase提供的insert函數(shù),此函數(shù)把SQL語句進(jìn)行了封裝方便用戶使用。
 
◆通過execSQL("INSERT INTO mytable VALUES('idStr', 'nameStr', 20);");可以插入一條記錄, 
當(dāng)插入記錄出錯時會拋出異常需要處理。

◆通過insert函數(shù):insert函數(shù)需要一個ContentValues類型的值,此類型類似于hashmap,一個key,一個值配成一對。key就是字段名。

ContentValues v = new ContentValues(); 
v.put("id", "101"); 
v.put("name", "user 101"); 
v.put("age", 44); 
mDb.insert("mytable", "null", v);

如果v中的key沒有完全的指定所有字段,比如少name或者少id,那么記錄能否被成功插入要根據(jù)表格創(chuàng)建時的字段限制來決定, 比如少name,那么此記錄會插入,只是name字段的值為NULL;如果少id,那么記錄不會被插入,因為創(chuàng)建時指定了NOT NULL.

可以通過以下指令來查看結(jié)果:

adb shell執(zhí)行后進(jìn)入shell;

cd /data/data/cn.demo.sql

sqlite3 database.db 進(jìn)入了sqlite操作界面。

.help可以看到命令幫助。
 
.dump 可以看到數(shù)據(jù)庫中的數(shù)據(jù)。
 
為了方便使用,可以自定義一個insert函數(shù),將值通過參數(shù)傳入,而ContentValues設(shè)置則在函數(shù)內(nèi)部實現(xiàn)。

  1.             public void insert(String id, String name, int age) {  
  2. if( mDb == null ) mDb = getWritableDatabase();  
  3. ContentValues v = new ContentValues();  
  4. v.put("id", id);  
  5. v.put("name", name);  
  6. if(age > 0) v.put("age", age);  
  7. mDb.insert(TBL_NAME, "null", v);          
  8.  

 

從表格中查詢記錄

SQL語句:SELECT column list FROM table WHERE expr ORDER BY column list; 通過SQLiteDatabase類的query()函數(shù): 

  1. Cursor SQLiteDatabase.query(String table, 
  2. String[] columns, String selection, String[] selectionArgs, 
  3. String groupBy, String having, String orderBy); 

Parameters: 
table 要更新的記錄所在的表名。 
values 要更新的字段值。 
whereClause Where子句。更新哪些記錄。 
whereArgs Where子句中的'?'替換串。 
執(zhí)行update操作時,如果只給部分字段賦值,那么update后,沒有賦值的字段仍然保持原來的值不變。

從表格中刪除記錄:

  1.  
  2. int SQLiteDatabase.delete(String table, String whereClause, String[] whereArgs); 
  3.  

 

 從SQLite的整個創(chuàng)建和查詢過程我們可以看出,在Android平臺,由于SQLite的特性,一切以文件為主,沒有順序的概念。我們可以通過查詢來得到滿足條件的記錄,通過SQL指令來操作數(shù)據(jù)庫。此外,我們應(yīng)該熟記Android平臺操作SQLite的幾個類:SQLiteOpenHelper抽象類、SQLiteDatabase數(shù)據(jù)庫訪問類以及SQLiteCursor 查詢結(jié)構(gòu)操作類。

Phone Club——51CTO移動開發(fā)線下技術(shù)沙龍

活動日期:12月19日
本期主題:Android應(yīng)用開發(fā)技術(shù)進(jìn)階
地點(diǎn):創(chuàng)新工場 北京市海淀區(qū)北四環(huán)西路66號第三極大廈B座18層
演講講師:王明禮(創(chuàng)新工場) 范懷宇(網(wǎng)易)

【編輯推薦】

  1. Android的SQLite學(xué)習(xí)及使用方法 
  2. 淺析SQLite數(shù)據(jù)庫開發(fā)常用管理工具 
  3. Android開發(fā)中實現(xiàn)多點(diǎn)觸摸的方法 
  4. Android 2.3正式發(fā)布 11大特性全新改進(jìn) 
  5. 錢景無限 Android應(yīng)用開發(fā)者曬收入 

 

責(zé)任編輯:佚名 來源: javaeye
相關(guān)推薦

2021-11-18 09:46:24

ServerlessKubeless 阿里云

2022-09-26 08:25:56

監(jiān)控平臺微服務(wù)

2011-09-14 11:10:09

Android 2.2

2021-02-15 15:40:28

SQLite3數(shù)據(jù)庫

2024-04-28 14:46:55

gozero微服務(wù)技巧

2017-09-30 16:06:28

代碼注解分析

2015-10-29 15:36:19

Redis入門

2011-06-02 10:24:48

Android SQLite

2009-09-25 10:24:40

Androind入門教OPhone

2012-03-06 09:50:24

Android SQLAndroidSQLite3

2011-11-29 12:27:54

2009-09-24 15:27:41

Hibernate查詢

2010-06-24 13:35:53

GRE協(xié)議

2021-05-07 08:02:53

Sentinel 流量服務(wù)

2011-03-08 16:50:35

2017-05-03 13:50:38

2024-12-02 11:39:30

2018-03-28 09:53:50

Android架構(gòu)演進(jìn)

2025-11-12 08:01:54

2012-03-06 09:13:04

Android SQLSQLiteAndroid
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

av电影网站在线观看| 欧美一区观看| 免费中文字幕在线观看| 国产精品香蕉| 色婷婷综合在线| 亚洲欧美日产图| 亚洲黄色精品视频| 三级不卡在线观看| 超碰97人人做人人爱少妇| 亚洲视频在线不卡| 九色porny丨首页入口在线| 国产午夜精品久久久久久久| 91久久在线视频| 欧美bbbbbbbbbbbb精品| 91免费精品| 日韩成人中文字幕在线观看| 污色网站在线观看| sm性调教片在线观看 | 欧洲日韩成人av| 四虎地址8848| 久久99精品久久久久久园产越南| 日韩精品一区二区在线| 亚洲免费看av| 免费成人在线电影| 一区二区日韩电影| 亚洲综合第一| 川上优的av在线一区二区| 懂色av中文字幕一区二区三区| 国产精品露脸av在线| 日韩黄色a级片| 综合激情一区| 中文字幕日韩在线播放| av在线网站观看| 福利片一区二区| 91精品黄色片免费大全| 亚洲人成无码www久久久| 国产盗摄精品一区二区酒店| 1024精品合集| 亚洲精品在线免费| 国产精品一二三区视频| 91伊人久久大香线蕉| 国产精品嫩草在线观看| 国产激情视频在线播放| 久久99在线观看| 国产精品综合不卡av| 免费视频网站在线观看入口| 国产精品最新自拍| 国语自产精品视频在线看| 国产一区二区播放| 亚洲国产精品久久久天堂 | 日本少妇aaa| 菠萝蜜一区二区| 伊人久久久久久久久久久久久 | 国产精品久久久久久久久果冻传媒 | 国产一区二区三区视频免费观看 | 亚洲va欧美va人人爽午夜| 日本精品免费视频| 国产欧美黑人| 一区二区三区小说| 国产精品国产三级国产专区51| 成人短视频在线| 一区二区在线观看不卡| 又大又硬又爽免费视频| 欧美大胆的人体xxxx| 亚洲国产成人av网| 自慰无码一区二区三区| 成人影院大全| 欧美日韩一区不卡| 老司机久久精品| 精品国产第一国产综合精品| 日韩视频在线你懂得| 在线成人精品视频| 电影一区二区在线观看| 欧美一二区视频| 国产老头和老头xxxx×| 另类尿喷潮videofree| 精品中文字幕久久久久久| 国产三级av在线播放| 欧美手机在线| 欧美日韩国产成人在线| 国产精品100| 蜜乳av一区二区| 5g影院天天爽成人免费下载| 日本韩国免费观看| 国产女主播视频一区二区| 国产四区在线观看| 成人免费观看在线观看| 色狠狠综合天天综合综合| 日本特黄a级片| 91在线一区| 一区二区欧美激情| 国产这里有精品| 久久国产成人| 成人亚洲欧美一区二区三区| 欧美一区二区三区黄片| 国产视频一区在线播放| 大片在线观看网站免费收看| h片在线观看视频免费免费| 欧美性猛交xxxxxx富婆| 手机看片国产精品| 国内精品视频在线观看| 久久91亚洲人成电影网站| 狠狠人妻久久久久久| 狠狠久久亚洲欧美| 欧美精品尤物在线| 亚洲91av| 欧美天天综合网| 国产精品久久久免费观看| 欧洲激情视频| 538国产精品视频一区二区| 国产片高清在线观看| 久久精品视频一区二区三区| 日韩人妻精品一区二区三区| 午夜欧美巨大性欧美巨大| 日韩精品影音先锋| 91香蕉视频网| 视频一区二区三区在线| 国产精品一区二区欧美黑人喷潮水| 3p在线观看| 色婷婷亚洲一区二区三区| 精品1卡二卡三卡四卡老狼| 欧美国产一级| 国产精品久久久久77777| 五月天婷婷视频| 一区二区三区中文在线观看| 57pao国产成永久免费视频| 亚洲人成伊人成综合图片| 欧美—级高清免费播放| 一区二区三区精| 中文在线资源观看网站视频免费不卡| 日韩在线一级片| 韩国精品福利一区二区三区| 久久视频这里只有精品| 亚洲视频一区在线播放| 国产日韩亚洲欧美综合| 欧美日韩在线视频一区二区三区| 一区二区三区亚洲变态调教大结局 | 欧美亚洲免费高清在线观看| 久久久男人天堂| 亚洲电影免费观看高清完整版在线| 99精品久久久久| 国产一区二区三区免费| 国产高清精品软男同| 四虎精品永久免费| 色黄久久久久久| 成人精品福利| 蜜桃av噜噜一区| 深夜福利成人| 欧美成人app| 伊人久久五月天| 国语对白做受69按摩| 久久精品一区二区三区不卡| 麻豆传传媒久久久爱| 免费黄色成人| 国产精品高潮视频| 国产永久免费高清在线观看 | 91亚洲精华国产精华精华液| 国产精品国产三级国产专区51| 亚洲精品a区| 久久久久久久香蕉网| 丰满肉肉bbwwbbww| 亚洲成人av资源| 亚洲一区二区三区无码久久| 亚洲一区二区三区免费在线观看| 久久久久久九九九九| 欧美gay视频| 日韩中文在线不卡| a级片免费观看| 亚洲成人免费视频| 中文字幕一区二区三区人妻| 久久xxxx| 香蕉精品视频在线| 亚洲国产高清在线观看| 国语自产在线不卡| 麻豆影视在线| 91精品婷婷国产综合久久性色| 唐朝av高清盛宴| av欧美精品.com| 污污视频网站免费观看| 性欧美69xoxoxoxo| 成人黄动漫网站免费| 日本不卡免费高清视频在线| 一本色道久久综合狠狠躁篇的优点| 一区二区日韩视频| 午夜伊人狠狠久久| 成人小视频免费看| 懂色中文一区二区在线播放| 37pao成人国产永久免费视频| 日本黄色精品| 国产精品久久精品国产| 黄瓜视频成人app免费| 超薄丝袜一区二区| 欧美挠脚心网站| 欧美一区二区三区思思人| 亚洲欧美在线视频免费| 国产精品麻豆网站| 性囗交免费视频观看| 老汉av免费一区二区三区| 日韩一级性生活片| 久久国产成人精品| 蜜桃麻豆www久久国产精品| 亚洲综合资源| 日本国产精品视频| 久操av在线| 社区色欧美激情 | 成人video亚洲精品| 亚洲一区二区综合| 91精品麻豆| 97在线视频免费观看| av男人的天堂在线| 日韩精品一区二区三区中文精品| 自拍偷拍18p| 久久久爽爽爽美女图片| 亚洲影视一区二区| 亚洲福利一区二区三区| 超碰人人人人人人人| av资源站一区| 国产裸体视频网站| 麻豆精品视频在线观看免费| 天天夜碰日日摸日日澡性色av| 国产精品久久久久一区二区三区厕所 | 亚洲精品久久久久| 国产黄a三级三级看三级| 欧美色图免费看| 国产精品久久久久久久久久精爆| 亚洲自拍与偷拍| 国产av无码专区亚洲av毛网站| 国产女同互慰高潮91漫画| 五月婷婷综合在线观看| 成人免费看视频| 国模大尺度视频| 国产一区二区视频在线播放| 爱爱爱爱免费视频| 日韩电影网1区2区| 又色又爽又高潮免费视频国产| 一区二区三区国产在线| 日韩 欧美 视频| 欧美精品日本| 日韩成人三级视频| 午夜天堂精品久久久久| 大桥未久一区二区三区| 97久久视频| 中文字幕人成一区| 久久久久久久久国产一区| 午夜精品一区二区三区四区| re久久精品视频| 日韩av图片| 欧美少妇xxxx| 亚洲综合第一| 一区二区中文字| 玖玖精品在线视频| 欧美国产91| 亚洲理论电影在线观看| 1024日韩| 免费无码国产v片在线观看| 亚洲一区二区毛片| 女人另类性混交zo| 日本午夜一区二区| 蜜臀av免费观看| 精品一区二区三区在线观看国产| 免费黄频在线观看| 国产福利电影一区二区三区| 国产一线在线观看| 91免费在线播放| 国产一区二区三区精品在线| 中文字幕一区二区三区在线不卡 | 在线电影福利片| 欧美黑人巨大xxx极品| 国产色播av在线| 国产精品极品美女在线观看免费 | 韩国一区二区三区| xxxx国产视频| 91影院在线观看| 影音先锋男人看片资源| 亚洲欧美精品午睡沙发| 欧美亚洲天堂网| 一本久道中文字幕精品亚洲嫩| 伊人网中文字幕| 精品剧情在线观看| 免费国产在线视频| 久久午夜a级毛片| 国产伦子伦对白在线播放观看| 日本道色综合久久影院| 99re8精品视频在线观看| 国产精品精品软件视频| 国产在视频线精品视频www666| 在线观看福利一区| 亚洲高清自拍| 成人免费在线观看视频网站| 国产精品69毛片高清亚洲| 日本黄色网址大全| 亚洲男人天堂av| 天堂网免费视频| 精品日韩在线观看| av在线天堂| 97色在线视频| 成人激情久久| 欧美成ee人免费视频| 一区二区三区四区在线观看国产日韩 | 日本免费中文字幕在线| 97视频免费看| 日本高清久久| 亚洲国产欧美一区二区三区不卡| 亚洲国产一区二区精品专区| 中文字幕66页| 久久一日本道色综合| 日本少妇高清视频| 欧美午夜不卡视频| 污污网站免费在线观看| 精品国产拍在线观看| 欧美极度另类| 精品高清视频| 狠狠久久婷婷| 四虎成人在线播放| 中文欧美字幕免费| 天天干天天干天天操| 精品成人一区二区三区四区| 欧美日韩视频在线播放| 国产国产精品人在线视| 欧美精品中文| 欧美又粗又长又爽做受| 国产综合久久久久影院| 日韩一级片在线免费观看| 好吊成人免视频| 天堂av中文字幕| 色综合久久88| 天堂av一区| 国产成人一二三区| 国产剧情在线观看一区二区| 99精品欧美一区二区| 日本久久一区二区三区| 亚洲色图另类小说| 91av在线看| 神马久久av| 日韩欧美国产免费| 97精品久久久久中文字幕| 国产无码精品在线观看| 精品美女一区二区| 男人天堂亚洲天堂| 国产传媒一区二区三区| 国产精品久久久久久久久妇女| 国产成人美女视频| 国产精品久久久久久久久免费樱桃| 最近中文字幕在线观看视频| 国产午夜精品视频| 欧美一级在线| 麻豆中文字幕在线观看| 激情综合色综合久久综合| 黄色录像一级片| 日韩一区二区三区av| 色婷婷在线播放| 国产精品推荐精品| 99精品视频免费全部在线| 亚洲国产第一区| 色av成人天堂桃色av| eeuss影院www在线播放| 国产欧美日韩中文字幕| 五月天久久网站| 4438x全国最大成人| 亚洲福利视频一区二区| 天天操天天插天天射| 日本欧美一级片| 成人在线电影在线观看视频| 午夜剧场在线免费观看| 亚洲精品五月天| 天天干天天爱天天操| 日本精品性网站在线观看| 成人羞羞网站入口免费| 一级片黄色免费| 欧美视频二区36p| 在线视频自拍| 成人欧美一区二区| 久久久精品日韩| 熟女少妇a性色生活片毛片| 欧美v国产在线一区二区三区| 妞干网免费在线视频| 亚洲精品电影在线一区| 国产成人av一区二区三区在线观看| 一级片中文字幕| 色婷婷综合久久久久| 国产精品一线| www.涩涩涩| 亚洲电影一区二区三区| av在线电影免费观看| 成人黄视频免费| 日韩电影在线免费观看| 欧美三级免费看| 国产午夜精品视频| jazzjazz国产精品久久| 免费激情视频在线观看| 亚洲一区二区三区四区在线观看 | 国产精品欧美一区二区三区奶水| 亚洲国产精品成人| 欧美特级黄色录像| 日韩视频免费观看高清完整版 | 国产欧美在线一区二区| 麻豆高清免费国产一区| 日本网站在线播放| 久久久精品视频在线观看| 欧美日韩破处|