最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Android中一些SQLite的增刪改查操作

 更新時間:2016年05月25日 14:55:31   作者:LoveLife  
這篇文章主要為大家詳細介紹了Android中一些SQLLite的增刪改查操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在Android開發(fā)中經(jīng)常要涉及到對數(shù)據(jù)的操作。Android本身提供了四種數(shù)據(jù)存儲方式。包括:SharePreference,SQLite,Content Provider,F(xiàn)ile。
在Android,數(shù)據(jù)都是么私有的,要實現(xiàn)數(shù)據(jù)共享,正確方式是使用Content Provider。
SQLite: SQLite是一個輕量級的數(shù)據(jù)庫,支持基本SQL語法,是常被采用的一種數(shù)據(jù)存儲方式。Android為此數(shù)據(jù)庫提供了一個名為SQLiteDatabase的類,封裝了一些操作數(shù)據(jù)庫的API。
SharedPreference: 除SQLite數(shù)據(jù)庫外,另一種常用的數(shù)據(jù)存儲方式,其本質(zhì)就是一個xml文件,常用于存儲較簡單的參數(shù)設(shè)置。
File: 即常說的文件(I/O)存儲方法,常用語存儲大數(shù)量的數(shù)據(jù),但是缺點是更新數(shù)據(jù)將是一件困難的事情。
ContentProvider:Android系統(tǒng)中能實現(xiàn)所有應(yīng)用程序共享的一種數(shù)據(jù)存儲方式,由于數(shù)據(jù)通常在各應(yīng)用間的是互相私密的,所以此存儲方式較少使用,但是其又是必不可少的一種存儲方式。例如音頻,視頻,圖片和通訊錄,一般都可以采用此種方式進行存儲。每個Content Provider都會對外提供一個公共的URI(包裝成Uri對象),如果應(yīng)用程序有數(shù)據(jù)需要共享時,就需要使用Content Provider為這些數(shù)據(jù)定義一個URI,然后其他的應(yīng)用程序就通過Content Provider傳入這個URI來對數(shù)據(jù)進行操作。

本文主要是講一些SQLite的操作并附上代碼。

SQLite是一種轉(zhuǎn)為嵌入式設(shè)備設(shè)計的輕型數(shù)據(jù)庫,其只有五種數(shù)據(jù)類型,分別是:
NULL:         空值
INTEGER:   整數(shù)
REAL:      浮點數(shù)
TEXT:      字符串
BLOB:     大數(shù)據(jù)

在SQLite中,并沒有專門設(shè)計BOOLEAN和DATE類型,因為BOOLEAN型可以用INTEGER的0和1代替true和false,而DATE類型則可以擁有特定格式的TEXT、REAL和INTEGER的值來代替顯示,為了能方便的操作DATE類型,SQLite提供了一組函數(shù),詳見:http://www.sqlite.org/lang_datefunc.html,這樣簡單的數(shù)據(jù)類型設(shè)計更加符合嵌入式設(shè)備的要求。

import android.content.ContentValues; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
 
/** 
 * 對表的增刪改查的操作。這里的表里只有uid一列作為舉例。 
 */ 
public class DemoDBUtil { 
 
 //要操作的表名 
 public static final String DEMO_DB_NAME = "demo_db_name"; 
 //SQLiteDatabase對象 
 private SQLiteDatabase sqLiteDatabase; 
  
 /** 
  * 帶參構(gòu)造方法,初始化SQLiteDatabase。 
  * @param sqLiteDatabase SQLiteDatabase實例 
  */ 
 public DemoDBUtil(SQLiteDatabase sqLiteDatabase){ 
  this.sqLiteDatabase = sqLiteDatabase; 
 } 
  
 /** 
  * 增加數(shù)據(jù)。 
  * @param uid 要新增的uid 
  */ 
 public void add(String uid){ 
  ContentValues values = new ContentValues(); 
  values.put("uid", uid); 
  sqLiteDatabase.insert(DEMO_DB_NAME, null, values); 
 } 
  
 /** 
  * 刪除表里所有數(shù)據(jù)。 
  */ 
 public void delete(){ 
  sqLiteDatabase.delete(DEMO_DB_NAME, null, null); 
 } 
  
 /** 
  * 刪除表里與uid對應(yīng)的數(shù)據(jù)。 
  * @param uid 某個uid 
  */ 
 public void delete(String uid){ 
  sqLiteDatabase.delete(DEMO_DB_NAME, "uid = ? ", new String[]{uid}); 
 } 
  
 /** 
  * 更新表,將表所有uid替換為newUid。 
  */ 
 public void update(){ 
  ContentValues values = new ContentValues(); 
  values.put("uid", "newUid"); 
  sqLiteDatabase.update(DEMO_DB_NAME, values, null, null); 
 } 
  
 /** 
  * 將表里對應(yīng)的uid替換為newUid。 
  * @param uid 表里的某個uid 
  */ 
 public void update(String uid){ 
  ContentValues values = new ContentValues(); 
  values.put("uid", "newUid"); 
  sqLiteDatabase.update(DEMO_DB_NAME, values, "uid = ? ", new String[]{uid}); 
 } 
  
 /** 
  * 查詢表里所有數(shù)據(jù),取得uid對應(yīng)的值。 
  */ 
 public void query(){ 
  Cursor cursor = sqLiteDatabase.query(DEMO_DB_NAME, null, null, null, null, null, null); 
  while (cursor.moveToNext()) { 
   String uid = cursor.getString(cursor.getColumnIndex("uid")); 
  } 
  if (null != cursor) { 
   cursor.close(); 
  } 
 } 
  
 /** 
  * 取得對應(yīng)uid的值。 
  * @param uid 表里的某個uid 
  */ 
 public void query(String uid){ 
  Cursor cursor = sqLiteDatabase.query(DEMO_DB_NAME, null, "uid = ? ", new String[]{uid}, null, null, null); 
  while (cursor.moveToNext()) { 
   String queryUid = cursor.getString(cursor.getColumnIndex("uid")); 
  } 
  if (null != cursor) { 
   cursor.close(); 
  } 
 } 
  
 /** 
  * 取得最后一條記錄。 
  */ 
 public void queryLastRecord(){ 
  String lastTimeSql = "select * from demo_db_name order by id desc LIMIT 1"; 
  Cursor cursor = sqLiteDatabase.rawQuery(lastTimeSql, null); 
  while (cursor.moveToNext()) { 
   String queryUid = cursor.getString(cursor.getColumnIndex("uid")); 
  } 
  if (null != cursor) { 
   cursor.close(); 
  } 
 } 
} 

上文主要是針對表的一個簡單的增刪改查的操作,可以根據(jù)實際情況修改來滿足項目的需要。

以上就是本文的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android ListView 實例講解清晰易懂

    Android ListView 實例講解清晰易懂

    這篇文章主要通過實例介紹了Android ListView,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Android實現(xiàn)一鍵鎖屏功能

    Android實現(xiàn)一鍵鎖屏功能

    這篇文章主要介紹了Android實現(xiàn)一鍵鎖屏,在xml中創(chuàng)建device_admin.xml,在manifest中加入詳細文件,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Kotlin?協(xié)程的取消機制詳細解讀

    Kotlin?協(xié)程的取消機制詳細解讀

    這篇文章主要為大家介紹了Kotlin?協(xié)程的取消機制詳細解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 如何使用Flutter實現(xiàn)手寫簽名效果

    如何使用Flutter實現(xiàn)手寫簽名效果

    Flutter插件提供了用于繪制平滑簽名的簽名板,下面這篇文章主要給大家介紹了關(guān)于如何使用Flutter實現(xiàn)手寫簽名效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • 詳解用flutter制作上班摸魚應(yīng)用

    詳解用flutter制作上班摸魚應(yīng)用

    本文主要介紹了用flutter制作上班摸魚應(yīng)用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Android實現(xiàn)滑動加載數(shù)據(jù)的方法

    Android實現(xiàn)滑動加載數(shù)據(jù)的方法

    這篇文章主要介紹了Android實現(xiàn)滑動加載數(shù)據(jù)的方法,實例分析了Android通過滑動實現(xiàn)動態(tài)加載數(shù)據(jù)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法

    Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法

    這篇文章主要為大家介紹了Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2023-05-05
  • Android Material加載進度條制作代碼

    Android Material加載進度條制作代碼

    這篇文章主要為大家詳細介紹了AndroidMaterial加載進度條的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android使用自定義字體的方法

    Android使用自定義字體的方法

    這篇文章主要介紹了Android使用自定義字體的方法,涉及Android字體設(shè)置的步驟與相關(guān)注意事項,需要的朋友可以參考下
    2016-01-01
  • Kotlin面向?qū)ο笾R點講解

    Kotlin面向?qū)ο笾R點講解

    面向?qū)ο缶幊掏ㄟ^對事物的抽象,大大的簡化了程序的開發(fā)難度。我們常用的編程語言:Java、C++、Python都屬于面向?qū)ο缶幊?。Kotlin與java類似,也是一種面向?qū)ο缶幊陶Z言。本文從面向?qū)ο笕齻€基本特征:封裝、繼承、多態(tài),來闡述一下Kotlin中的面向?qū)ο缶幊?/div> 2022-12-12

最新評論

广昌县| 宣武区| 阳高县| 鄂伦春自治旗| 兴安盟| 蓬莱市| 台前县| 高陵县| 区。| 巴彦淖尔市| 邵东县| 阜阳市| 连城县| 深州市| 城口县| 新巴尔虎右旗| 嵩明县| 宣武区| 新田县| 保靖县| 苏尼特右旗| 湘潭县| 沈阳市| 贵南县| 额济纳旗| 咸丰县| 郯城县| 宁夏| 玛沁县| 太康县| 保定市| 万年县| 莎车县| 河间市| 清丰县| 兴宁市| 吴桥县| 武义县| 南岸区| 工布江达县| 湘潭市|