我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android SQLite数据库增删改查操作的案例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android SQLite数据库增删改查操作的案例分析

Person实体类
代码如下:
package com.ljq.domain;


public class Person {
    private Integer id;
    private String name;
    private String phone;

    public Person() {
        super();
    }

    public Person(String name, String phone) {
        super();
        this.name = name;
        this.phone = phone;
    }
    public Person(Integer id, String name, String phone) {
        super();
        this.id = id;
        this.name = name;
        this.phone = phone;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

}

DBOpenHelper数据库关联类
代码如下:
package com.ljq.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBOpenHelper extends SQLiteOpenHelper {
    // 类没有实例化,是不能用作父类构造器的参数,必须声明为静态
    private static final String DBNAME = "ljq.db";
    private static final int VERSION = 1;
    // 第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,
    // 设置为null,代表使用系统默认的工厂类
    public DBOpenHelper(Context context) {
        super(context, DBNAME, null, VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE PERSON (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME VARCHAR(20), PHONE VARCHAR(20))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 注:生产环境上不能做删除操作
        db.execSQL("DROP TABLE IF EXISTS PERSON");
        onCreate(db);
    }
}

PersonService业务类
代码如下:
package com.ljq.db;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.database.Cursor;

import com.ljq.domain.Person;

public class PersonService {
    private DBOpenHelper dbOpenHelper = null;
   
    public PersonService(Context context){
        dbOpenHelper = new DBOpenHelper(context);
    }
    public void save(Person person){
        dbOpenHelper.getWritableDatabase().execSQL("insert into person(name, phone) values (?, ?)",
                new Object[]{person.getName(), person.getPhone()});
    }
    public void update(Person person){
        dbOpenHelper.getWritableDatabase().execSQL("update person set name=?, phone=? where id=?",
                new Object[]{person.getName(), person.getPhone(), person.getId()});
    }
    public void delete(Integer... ids){
        if(ids.length>0){
            StringBuffer sb = new StringBuffer();
            for(Integer id : ids){
                sb.append("?").append(",");
            }
            sb.deleteCharAt(sb.length() - 1);
            dbOpenHelper.getWritableDatabase().execSQL("delete from person where id in ("+sb+")", (Object[])ids);
        }
    }
    public Person find(Integer id){
        Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select id, name, phone from person where id=?",
                new String[]{String.valueOf(id)});
        if(cursor.moveToNext()){
            int personid = cursor.getInt(0);
            String name = cursor.getString(1);
            String phone = cursor.getString(2);
            return new Person(personid, name, phone);
        }
        return null;
    }
    public long getCount(){
        Cursor cursor = dbOpenHelper.getReadableDatabase().query("person",
                new String[]{"count(*)"}, null,null,null,null,null);
  &nbs p;     if(cursor.moveToNext()){
            return cursor.getLong(0);
        }
        return 0;
    }
   
    public List<Person> getScrollData(int startResult, int maxResult){
        List<Person> persons = new ArrayList<Person>();
        //Cursor cursor = dbOpenHelper.getReadableDatabase().query("person", new String[]{"id, name, phone"},
        //        "name like ?", new String[]{"%ljq%"}, null, null, "id desc", "1,2");
        Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select * from person limit ?,?",
                new String[]{String.valueOf(startResult), String.valueOf(maxResult)});
        while(cursor.moveToNext()) {
            int personid = cursor.getInt(0);
            String name = cursor.getString(1);
            String phone = cursor.getString(2);
            persons.add(new Person(personid, name, phone));
        }
        return persons;
    }
   
}

PersonServiceTest测试类
代码如下:
package com.ljq.test;

import java.util.List;

import com.ljq.db.PersonService;
import com.ljq.domain.Person;

import android.test.AndroidTestCase;
import android.util.Log;

public class PersonServiceTest extends AndroidTestCase{
    private final String TAG = "PersonServiceTest";
    public void testSave() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        personService.save(new Person("zhangsan1", "059188893343"));
        personService.save(new Person("zhangsan2", "059188893343"));
        personService.save(new Person("zhangsan3", "059188893343"));
        personService.save(new Person("zhangsan4", "059188893343"));
        personService.save(new Person("zhangsan5", "059188893343"));
    }
    public void testUpdate() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        Person person = personService.find(1);
        person.setName("linjiqin");
        personService.update(person);
    }
    public void testFind() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        Person person = personService.find(1);
        Log.i(TAG, person.getName());
    }
    public void testList() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        List<Person> persons = personService.getScrollData(0, 10);
        for(Person person : persons){
            Log.i(TAG, person.getId() + " : " + person.getName());
        }
    }
    public void testCount() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        Log.i(TAG, String.valueOf(personService.getCount()));
    }
    public void testDelete() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        personService.delete(1);
    }
    public void testDeleteMore() throws Exception{
        PersonService personService = new PersonService(this.getContext());
        personService.delete(new Integer[]{2, 5, 6});
    }
}

运行结果

您可能感兴趣的文章:Android SQLite数据库版本升级的管理实现Android实现创建或升级数据库时执行语句Android SQLite数据库增删改查操作的使用详解Android使用SQLite数据库的简单实例条件数据库Android:sqllite的简单使用Android中操作SQLite数据库快速入门教程Android创建和使用数据库SQLIteAndroid 数据库打包随APK发布的实例代码Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解Android开发中数据库升级且表添加新列的方法


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android SQLite数据库增删改查操作的案例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android SQLite数据库增删改查操作的案例分析

Person实体类 代码如下:package com.ljq.domain; public class Person { private Integer id; private String name; private S
2022-06-06

Android SQLite数据库的增 删 查找操作

在Android开发中,有时我们需要对SQLite数据库进行增,删,查,找等操作,现在就来简单介绍一下,以下为详细代码。 一.创建一个自定义数据库 二.创建一个自定义适配器 三.编写MainActivity代
2022-06-06

SQLite数据库增删改查怎么操作

在SQLite数据库中,可以使用SQL语句来进行数据的增删改查操作。插入数据:要插入数据,可以使用INSERT INTO语句,如下所示:INSERT INTO table_name (column1, column2, column3,
SQLite数据库增删改查怎么操作
2024-04-09

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

一、使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、 TEXT(字符串文本)和BLOB(二进制对象)数据类型
2022-06-06

Android--SQLite(增,删,改,查)操作实例代码

需要5个类: 1.实体类:Person.java 2.抽象类:SQLOperate.java(封装了对数据库的操作) 3.助手类:DBOpenHelper.java(继承SQLiteOpenHelper) 4.实现类:SQLOperateI
2022-06-06

Android数据库增删改查实战案例

我们在编程中经常会遇到数据库的操作,这篇文章主要给大家介绍了关于Android数据库增删改查的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-16

Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解

本文实例讲述了Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法。分享给大家供大家参考,具体如下: 由于刚接触android开发,故此想把学到的基础知识记录一下,以备查询,故此写的比较啰嗦: 步骤
2022-06-06

django_数据库操作—增、删、改、查

增加 增加数据有两种方法 1> sava >>> from datetime import date>>> book = BookInfo( btitle='西游记', bpub_date=date(1988,1,1),
2023-01-31

在Android开发中怎么对SQLite数据库进行增删改查操作

在Android开发中怎么对SQLite数据库进行增删改查操作?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一.创建一个自定义数据库 二.创建一个自定义适
2023-05-31

C#如何操作SQLite实现数据的增删改查

这篇文章主要介绍了C#如何操作SQLite实现数据的增删改查,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介SQLite是一个轻量级、跨平台的关系型数据库,在小型项目中,方
2023-06-28

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

在Android开发中经常要涉及到对数据的操作。Android本身提供了四种数据存储方式。包括:SharePreference,SQLite,Content Provider,File。 在Android,数据都是么私有的,要实现数据共享,
2022-06-06

Node.js操作mysql数据库增删改查

关于node.js操作mysql数据库的相关介绍请阅读全文吧。下文介绍的非常详细,具体内容如下所示:安装mysql模块npm install mysql 数据库准备 mysql server所在的机器IP地址是192.168.0.108,登
2022-06-04

python对数据库mysql的操作(增删改查)

#coding=utf-8import pymysql# #查询# def connMySQL():# try:# conn=pymysql.connect(‘localhost‘,‘root‘,‘admin‘)# co
python对数据库mysql的操作(增删改查)
2015-11-13

SpringData JPA增删改查操作方法实例分析

这篇文章主要讲解了“SpringData JPA增删改查操作方法实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringData JPA增删改查操作方法实例分析”吧!1、服务层调用
2023-07-02

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录