欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

import android.content.ContentValues; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
 
/** 
 * 對(duì)表的增刪改查的操作。這里的表里只有uid一列作為舉例。 
 */ 
public class DemoDBUtil { 
 
 //要操作的表名 
 public static final String DEMO_DB_NAME = "demo_db_name"; 
 //SQLiteDatabase對(duì)象 
 private SQLiteDatabase sqLiteDatabase; 
  
 /** 
  * 帶參構(gòu)造方法,初始化SQLiteDatabase。 
  * @param sqLiteDatabase SQLiteDatabase實(shí)例 
  */ 
 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對(duì)應(yīng)的數(shù)據(jù)。 
  * @param uid 某個(gè)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); 
 } 
  
 /** 
  * 將表里對(duì)應(yīng)的uid替換為newUid。 
  * @param uid 表里的某個(gè)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對(duì)應(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(); 
  } 
 } 
  
 /** 
  * 取得對(duì)應(yīng)uid的值。 
  * @param uid 表里的某個(gè)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(); 
  } 
 } 
} 

上文主要是針對(duì)表的一個(gè)簡(jiǎn)單的增刪改查的操作,可以根據(jù)實(shí)際情況修改來(lái)滿足項(xiàng)目的需要。

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

  • Android 詳解ThreadLocal及InheritableThreadLocal

    Android 詳解ThreadLocal及InheritableThreadLocal

    這篇文章主要介紹了Android 詳解ThreadLocal及InheritableThreadLocal的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • android 使用瀏覽器打開(kāi)指定頁(yè)面的實(shí)現(xiàn)方法

    android 使用瀏覽器打開(kāi)指定頁(yè)面的實(shí)現(xiàn)方法

    這篇文章主要介紹了android 使用瀏覽器打開(kāi)指定頁(yè)面的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例文字說(shuō)明的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Kotlin入門(mén)教程之開(kāi)發(fā)環(huán)境搭建

    Kotlin入門(mén)教程之開(kāi)發(fā)環(huán)境搭建

    最近kotlin大熱,Kotlin作為 Android 領(lǐng)域的 Swift,絕對(duì)讓你如沐春風(fēng),下面這篇文章主要給大家介紹了關(guān)于Kotlin入門(mén)教程之開(kāi)發(fā)環(huán)境搭建的相關(guān)資料,文中將實(shí)現(xiàn)的方法一步步介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-10-10
  • Android Studio導(dǎo)入so文件到項(xiàng)目中的實(shí)例詳解

    Android Studio導(dǎo)入so文件到項(xiàng)目中的實(shí)例詳解

    這篇文章主要介紹了Android Studio導(dǎo)入so文件到項(xiàng)目中的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • Android notifyDataSetChanged() 動(dòng)態(tài)更新ListView案例詳解

    Android notifyDataSetChanged() 動(dòng)態(tài)更新ListView案例詳解

    這篇文章主要介紹了Android notifyDataSetChanged() 動(dòng)態(tài)更新ListView案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • rxjava+retrofit實(shí)現(xiàn)多圖上傳實(shí)例代碼

    rxjava+retrofit實(shí)現(xiàn)多圖上傳實(shí)例代碼

    本篇文章主要介紹了rxjava+retrofit實(shí)現(xiàn)多圖上傳實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • android ListView的右邊滾動(dòng)滑塊啟用方法 分享

    android ListView的右邊滾動(dòng)滑塊啟用方法 分享

    android ListView的右邊滾動(dòng)滑塊啟用方法 分享,需要的朋友可以參考一下
    2013-05-05
  • Android 中TextView的使用imageview被壓縮問(wèn)題解決辦法

    Android 中TextView的使用imageview被壓縮問(wèn)題解決辦法

    這篇文章主要介紹了Android 中TextView的使用imageview被壓縮問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Android實(shí)現(xiàn)列表時(shí)間軸

    Android實(shí)現(xiàn)列表時(shí)間軸

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)列表時(shí)間軸效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 最新評(píng)論