详解Android中一些SQLite的增删改查 *** 作

详解Android中一些SQLite的增删改查 *** 作,第1张

概述在Android开发中经常要涉及到对数据的 *** 作。Android本身提供了四种数据存储方式。包括:SharePreference,SQLite,ContentProvider,File。

在AndroID开发中经常要涉及到对数据的 *** 作。AndroID本身提供了四种数据存储方式。包括:SharePreference,sqlite,Content ProvIDer,file。
在AndroID,数据都是么私有的,要实现数据共享,正确方式是使用Content ProvIDer。
sqlite: sqlite是一个轻量级的数据库,支持基本sql语法,是常被采用的一种数据存储方式。AndroID为此数据库提供了一个名为sqliteDatabase的类,封装了一些 *** 作数据库的API。
SharedPreference: 除sqlite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。
file: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。
ContentProvIDer:AndroID系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content ProvIDer都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content ProvIDer为这些数据定义一个URI,然后其他的应用程序就通过Content ProvIDer传入这个URI来对数据进行 *** 作。

本文主要是讲一些sqlite的 *** 作并附上代码。

sqlite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是:
NulL:         空值
INTEGER:   整数
REAL:      浮点数
TEXT:      字符串
BLOB:     大数据

在sqlite中,并没有专门设计BOolEAN和DATE类型,因为BOolEAN型可以用INTEGER的0和1代替true和false,而DATE类型则可以拥有特定格式的TEXT、REAL和INTEGER的值来代替显示,为了能方便的 *** 作DATE类型,sqlite提供了一组函数,详见:http://www.sqlite.org/lang_datefunc.HTML,这样简单的数据类型设计更加符合嵌入式设备的要求。

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;    /**   * 带参构造方法,初始化sqliteDatabase。   * @param sqliteDatabase sqliteDatabase实例   */  public DemoDBUtil(sqliteDatabase sqliteDatabase){   this.sqliteDatabase = sqliteDatabase;  }    /**   * 增加数据。   * @param uID 要新增的uID   */  public voID add(String uID){   ContentValues values = new ContentValues();   values.put("uID",uID);   sqliteDatabase.insert(DEMO_DB_name,null,values);  }    /**   * 删除表里所有数据。   */  public voID delete(){   sqliteDatabase.delete(DEMO_DB_name,null);  }    /**   * 删除表里与uID对应的数据。   * @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);  }    /**   * 将表里对应的uID替换为newUID。   * @param uID 表里的某个uID   */  public voID update(String uID){   ContentValues values = new ContentValues();   values.put("uID",new String[]{uID});  }    /**   * 查询表里所有数据,取得uID对应的值。   */  public voID query(){   Cursor cursor = sqliteDatabase.query(DEMO_DB_name,null);   while (cursor.movetoNext()) {    String uID = cursor.getString(cursor.getColumnIndex("uID"));   }   if (null != cursor) {    cursor.close();   }  }    /**   * 取得对应uID的值。   * @param uID 表里的某个uID   */  public voID query(String uID){   Cursor cursor = sqliteDatabase.query(DEMO_DB_name,new String[]{uID},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();   }  } } 

上文主要是针对表的一个简单的增删改查的 *** 作,可以根据实际情况修改来满足项目的需要。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的详解Android中一些SQLite的增删改查 *** 作全部内容,希望文章能够帮你解决详解Android中一些SQLite的增删改查 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存