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

在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, 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, null);
 } 

 /**
  * 将表里对应的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});
 } 

 /**
  * 查询表里所有数据,取得uid对应的值。
  */
 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();
  }
 } 

 /**
  * 取得对应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();
  }
 }
}

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

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, sqlite
增删改查
android sqlite详解、android sqlite操作类、android sqlite操作、ios sqlite3增删改查、安卓sqlite增删改查,以便于您获取更多的相关知识。

时间: 2024-12-03 15:00:09

详解Android中一些SQLite的增删改查操作_Android的相关文章

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

在Android开发中经常要涉及到对数据的操作.Android本身提供了四种数据存储方式.包括:SharePreference,SQLite,Content Provider,File. 在Android,数据都是么私有的,要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式.Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API. Sha

详解Nodejs基于mongoose模块的增删改查的操作_node.js

MongoDB MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销. Mongoose 是MongoDB的一个对象模型工具,它将数据库中的数据转换为JavaScript对象以供你在应用中使用,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单. 安装模块mongoose npm install

详解Android中Activity运行时屏幕方向与显示方式_Android

现在我们的手机一般都内置有方向感应器,手机屏幕会根据所处位置自动进行横竖屏切换(前提是未锁定屏幕方向).但有时我们的应用程序仅限在横屏或者竖屏状态下才可以运行,此时我们需要锁定该程序Activity运行时的屏幕方向.还有就是在我们用手机观看视频时,随意的进行横竖屏切换,但播放进度不会随着屏幕的转换而从头开始播放,为了实现这个功能,我们就需要在Activity转换时对当前数据进行保存. 现在根据以上两种需求,个人提出以下解决方案: 一.锁定Activity运行时屏幕方向,如下图(演示锁定横屏):

Android SQLite数据库增删改查操作的使用详解_Android

一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

Android SQLite数据库增删改查操作的使用详解

一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

详解Android中Intent传递对象给Activity的方法_Android

Activity回顾 activity是android程序中最重要的组件之一,它是用户与android用户交互的主要组件,类似于桌面程序的图形界面.android程序大致可以分为看的见的组件和看不见的service.看得见的组件主要就是在Activity中定义,看不见的service,包括service,BroadCastReceiver,ContentProvider等等,这是后话.今天先来大致了解一下activity. 可以理解activity为盛放组件的容器,和用户交互的组件都要放在Act

详解Android中Intent对象与Intent Filter过滤匹配过程_Android

如果对Intent不是特别了解,可以参见博文<详解Android中Intent的使用方法>,该文对本文要使用的action.category以及data都进行了详细介绍.如果想了解在开发中常见Intent的使用,可以参见<Android中Intent习惯用法>. 本文内容有点长,希望大家可以耐心读完. 本文在描述组件在manifest中注册的Intent Filter过滤器时,统一用intent-filter表示. 一.概述 我们知道,Intent是分两种的:显式Intent和隐式

详解Android中Handler的内部实现原理_Android

本文主要是对Handler和消息循环的实现原理进行源码分析,如果不熟悉Handler可以参见博文<详解Android中Handler的使用方法>,里面对Android为何以引入Handler机制以及如何使用Handler做了讲解. 概括来说,Handler是Android中引入的一种让开发者参与处理线程中消息循环的机制.我们在使用Handler的时候与Message打交道最多,Message是Hanlder机制向开发人员暴露出来的相关类,可以通过Message类完成大部分操作Handler的功

详解Android中的Service

Service简介: Service是被设计用来在后台执行一些需要长时间运行的操作. Android由于允许Service在后台运行,甚至在结束Activity后,因此相对来说,Service相比Activity拥有更高的优先级. 创建Service: 要创建一个最基本的Service,需要完成以下工作:1)创建一个Java类,并让其继承Service 2)重写onCreate()和onBind()方法 其中,onCreate()方法是当该Service被创建时执行的方法,onBind()是该S