国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android開發之SQLite技術詳解

移動開發 Android
Google為Andriod的較大的數據處理提供了SQLite,他在數據存儲、管理、維護等各方面都相當出色,功能也非常的強大。本文介紹了Android中的SQLite使用、類的介紹和數據的操作方法。

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

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

2.獨立性。SQLite 數據庫的核心引擎不需要依賴第三方軟件,也不需要所謂的“安裝”。

3.隔離性。SQLite 數據庫中所有的信息(比如表、視圖、觸發器等)都包含在一個文件夾內,方便管理和維護。

4.跨平臺。SQLite 目前支持大部分操作系統,不至電腦操作系統更在眾多的手機系統也是能夠運行,比如:Android。

5.多語言接口。SQLite 數據庫支持多語言編程接口。

6.安全性。SQLite 數據庫通過數據庫級上的獨占性和共享鎖來實現獨立事務處理。這意味著多個進程可以在同一時間從同一數據庫讀取數據,但只能有一個可以寫入數據。

Android中的SQLite使用

首先創建數據庫類:

  1. view sourceprint?public class DatabaseHelper extends SQLiteOpenHelper { 
  2.  
  3.   private static final String DB_NAME = "mydata.db"//數據庫名稱 
  4.  
  5.   private static final int version = 1//數據庫版本 
  6.  
  7.   public DatabaseHelper(Context context) { 
  8.  
  9.   super(context, DB_NAME, null, version); 
  10.  
  11.   // TODO Auto-generated constructor stub 
  12.  
  13.   } 
  14.  
  15.   @Override 
  16.  
  17.   public void onCreate(SQLiteDatabase db) { 
  18.  
  19.   String sql = "create table user(username varchar(20) not null , password varchar(60) not null );"
  20.  
  21.   db.execSQL(sql); 
  22.  
  23.   } 
  24.  
  25.   @Override 
  26.  
  27.   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
  28.  
  29.   // TODO Auto-generated method stub 
  30.  
  31.   } 
  32.  
  33.   }  

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. view sourceprint?1DatabaseHelper database = new DatabaseHelper(this);//這段代碼放到Activity類中才用this 
  2.  
  3.   2SQLiteDatabase db = null
  4.  
  5.   3db = 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注入)

數據的添刪改查分別可以通過兩種途徑來實現。

數據的添加

1.使用insert方法

  1. view sourceprint?1ContentValues cv = new ContentValues();//實例化一個ContentValues用來裝載待插入的數據cv.put("username","Jack Johnson");//添加用戶名 
  2.  
  3. 2cv.put("password","iLovePopMusic"); //添加密碼 
  4.  
  5. 3db.insert("user",null,cv);//執行插入操作 

2.使用execSQL方式來實現

  1. view sourceprint?1String sql = "insert into user(username,password) values ('Jack Johnson','iLovePopMuisc');//插入操作的SQL語句 
  2.  
  3. 2db.execSQL(sql);//執行SQL語句 

數據的刪除同樣有2種方式可以實現

  1. view sourceprint?1String whereClause = "username=?";//刪除的條件  
  2.   
  3.   2String[] whereArgs = {"Jack Johnson"};//刪除的條件參數  
  4.   
  5.   3db.delete("user",whereClause,whereArgs);//執行刪除  
  6.   
  7.   //使用execSQL方式的實現  
  8.   
  9.   view sourceprint?1String sql = "delete from user where username='Jack Johnson'";//刪除操作的SQL語句  
  10.   
  11.   2db.execSQL(sql);//執行刪除操作  

數據修改同上,仍是2種方式

  1. view sourceprint?1ContentValues cv = new ContentValues();//實例化ContentValues 
  2.  
  3.   2cv.put("password","iHatePopMusic");//添加要更改的字段及內容 
  4.  
  5.   3String whereClause = "username=?";//修改條件 
  6.  
  7.   4String[] whereArgs = {"Jack Johnson"};//修改條件的參數 
  8.  
  9.   5db.update("user",cv,whereClause,whereArgs);//執行修改 
  10.  
  11.   //使用execSQL方式的實現 
  12.  
  13.   view sourceprint?1String sql = "update [user] set password = 'iHatePopMusic' where username='Jack Johnson'";//修改的SQL語句 
  14.  
  15.   2db.execSQL(sql);//執行修改 

數據查詢

數據查詢相對前面幾種方法就復雜一些了,因為查詢會帶有很多條件。

通過query實現查詢的:

  1. public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) 

各參數說明:

  • table:表名稱
  • colums:列名稱數組
  • selection:條件子句,相當于where
  • selectionArgs:條件語句的參數數組
  • groupBy:分組
  • having:分組條件
  • orderBy:排序類
  • limit:分頁查詢的限制
  • Cursor:返回值,相當于結果集ResultSet

針對游標(Cursor)也提供了不少方法

方法名稱方法描述:

  • getCount()總記錄條數
  • isFirst()判斷是否***條記錄
  • isLast()判斷是否***一條記錄
  • moveToFirst()移動到***條記錄
  • moveToLast()移動到***一條記錄
  • move(int offset)移動到指定的記錄
  • moveToNext()移動到嚇一條記錄
  • moveToPrevious()移動到上一條記錄
  • getColumnIndex(String columnName)獲得指定列索引的int類型值

實現代碼:

  1.  Cursor c = db.query("user",null,null,null,null,null,null);//查詢并獲得游標 
  2. if(c.moveToFirst()){//判斷游標是否為空 
  3.     for(int i=0;i<c.getCount();i++){ 
  4.         c.move(i);//移動到指定記錄 
  5.         String username = c.getString(c.getColumnIndex("username"); 
  6.         String password = c.getString(c.getColumnIndex("password")); 
  7.     } 
  8.  
  9. //通過rawQuery實現的帶參數查詢 
  10.  
  11. Cursor c = db.rawQuery("select * from user where username=?",new Stirng[]{"Jack Johnson"}); 
  12. if(cursor.moveToFirst()) { 
  13.     String password = c.getString(c.getColumnIndex("password")); 
責任編輯:徐川 來源: OSChina
相關推薦

2024-05-21 10:23:02

反射技術.NET編程語言

2011-04-12 08:40:23

IMFAndroid

2012-02-29 10:18:31

SQLite3Android

2014-07-30 16:43:49

Android

2011-08-22 16:26:25

IOS開發Sqlite數據庫

2010-08-04 10:17:17

Android開發WebView組件

2024-05-27 09:52:57

反射技術.NET動態庫

2011-07-27 10:16:41

iPhone SQLite 數據庫

2011-08-02 11:07:42

iOS開發 UIWebView

2011-08-01 10:21:01

SQLite

2013-05-20 17:33:44

Android游戲開發自定義View

2010-07-13 09:02:19

Widget開發

2011-09-09 20:14:58

Android Wid

2011-07-04 17:18:23

Qt SQLite 數據庫

2011-06-02 10:24:48

Android SQLite

2019-01-04 15:14:18

2013-12-26 10:17:57

overlayVXLAN詳解

2013-03-27 09:47:01

Android開發SQAndroid SDK

2011-09-14 09:40:06

Android開發

2017-07-12 09:20:42

SQLite數據庫移植
點贊
收藏

51CTO技術棧公眾號

国产黄视频在线| 欧美日韩国产在线| 欧美一区二区三区不卡| 国产精品国产亚洲精品看不卡| 日韩国产一区二区| 一区二区亚洲精品国产| 日本高清中文字幕二区在线| 成人网在线免费视频| 狠狠色噜噜狠狠狠狠色吗综合| 美国成人xxx| 亚洲香蕉av在线一区二区三区| a中文在线播放| 国产精品久久久久aaaa樱花| 中文字幕99| 亚洲激情一区| 日本欧美中文字幕| 成人不卡视频| 亚洲国产欧美一区二区丝袜黑人 | 精品久久久一区二区| 久草青青在线观看| 精品一区免费av| 久久99蜜桃综合影院免费观看| 免费看成人吃奶视频在线| www.xxxx欧美| 一区二区三区短视频| 欧美丰满一区二区免费视频 | 日本中文字幕在线一区| 中文字幕国产亚洲2019| av手机在线观看| 欧美精品亚洲一区二区在线播放| 免费成人av电影| 一本久久a久久免费精品不卡| 中文字字幕在线中文乱码电影| 亚洲精品菠萝久久久久久久| 国产一二三视频| 一区二区成人在线视频| 淫视频在线观看| 一区二区三区欧美激情| xxxx影院| 亚洲福利视频一区二区| 中文在线有码| 在线亚洲免费视频| 日本精品一区二区三区在线播放| 欧美日韩精品一区二区在线播放| 五月天婷婷在线视频| 欧美精品成人一区二区三区四区| 国产三级视频在线播放线观看| 在线观看国产日韩| 蜜桃视频在线观看www社区| 91麻豆精品国产| 成人av影院在线观看| 亚洲天堂网站在线观看视频| 91视频成人| 日本一欧美一欧美一亚洲视频| 亚洲精品国产setv| 亚洲一区二区久久久久久| 欧美三级免费| 无遮挡亚洲一区| 不卡一二三区首页| 97干com| 懂色aⅴ精品一区二区三区蜜月| 精品推荐蜜桃传媒| 欧美成人三级在线| 欧美一级二级视频| 97精品在线观看| 亚洲欧美综合| 国产又大又长又粗又黄| 国产日韩欧美一区二区三区乱码| 91热爆在线观看| 日韩一区二区电影在线| 久久夜夜久久| 国产精品精品久久久| 国产日韩免费| 波多野结衣之无限发射| 一区二区三区精品在线| gogo在线高清视频| 久久视频在线观看免费| 日韩电影免费网站| 亚洲在线色站| 中文字幕一区二区三区在线观看 | 久久久久中文| 日本老太婆做爰视频| 国产欧美一区二区三区网站| 欧美成人xxxxx| 色丁香久综合在线久综合在线观看| 久草在线视频资源| 久久99精品久久久久久青青91| 日韩一区欧美| 伊人久久99| 一区二区三区中文字幕| 性欧美videos高清hd4k| 久久久久久久999| 亚洲欧洲日本mm| 69堂免费视频| 在线观看不卡一区| 免费精品一区二区三区在线观看| av噜噜色噜噜久久| 91网站最新网址| 91在线网址| 欧美黄色成人网| 亚洲精一区二区三区| 欧美v在线观看| 欧美一区二区性放荡片| 午夜先锋成人动漫在线| 日韩videos| 亚洲另类在线视频| 亚洲精品国产精品国产| 91久久精品视频| 成人动漫在线一区| 欧美高清日韩| 日本三级在线观看网站| 国产婷婷一区二区三区| 亚洲欧美偷拍三级| 2021天堂中文幕一二区在线观| 日韩av第一页| 国产99一区视频免费| 成年人视频在线免费观看| 97国产精品久久| 国产馆精品极品| 在线视频1区2区| 日本a级片电影一区二区| 国产精品资源在线| 日本高清在线观看wwwww色| 97激碰免费视频| 成人在线视频一区二区| 欧美人与禽性xxxxx杂性| 91视频免费在线| 成人免费在线视频观看| 日本在线一区二区| 尤物国产精品| 91精品婷婷国产综合久久竹菊| blacked蜜桃精品一区| av片中文字幕| 国产午夜精品一区二区三区| 日韩不卡一区二区| 国产不卡在线| 久久99精品久久久久久久久久| 狠狠躁夜夜躁人人爽天天天天97| 一区二区三区视频免费观看| www.99在线| 欧美成人精品在线播放| 成人av在线播放网址| 在线天堂资源| 一区二区免费在线观看| 日韩一区二区三区精品视频| 99精品免费| 麻豆传媒在线免费| 久久亚洲国产精品日日av夜夜| 色婷婷精品久久二区二区蜜臀av | 91视频国产资源| 国产精品一区二区久久久| 欧美va亚洲va国产综合| 国内精品伊人久久久久av一坑| 欧美午夜aaaaaa免费视频| 国产在线98福利播放视频| 美美哒免费高清在线观看视频一区二区| 中文在线√天堂| 在线一区二区三区视频| 在线免费观看色| 97在线资源站| 欧美日韩国产美| 日韩精品四区| 午夜激情福利在线| 日本在线观看天堂男亚洲| 国产精品久久综合| 日本福利片在线| 久久全球大尺度高清视频| 26uuu亚洲| 国产精品久久久久久久久久辛辛 | 欧美牲交a欧美牲交aⅴ免费下载| 91精品国产日韩91久久久久久| 一区二区三区在线观看免费| 在线视频三级| 成人一区二区在线| 久久综合九色| 久久日一线二线三线suv| 久久精品水蜜桃av综合天堂| 精品国内自产拍在线观看| 三级欧美在线一区| 天堂在线中文网官网| 777精品久无码人妻蜜桃| 久久久久久中文| 亚洲影院久久精品| 亚洲精品男同| 一区二区三区短视频| 可以免费在线看黄的网站| 日本在线观看天堂男亚洲| 色综合天天综合色综合av| 久久亚洲电影| 四虎国产精品成人免费影视| jizzjizzjizz亚洲日本| 亚洲综合色av| 亚洲精品网址在线观看| 国产精品色在线| 亚洲国产一区二区精品专区| 成人啊v在线| 在线看片你懂得| 视频一区二区视频| 国产成人av网址| 亚洲高清色综合|