阿里云国际站:android sqlite数据库文件

SQLite是一个开源的嵌入式数据库,由于其轻量级,所以在很多场合下它成为了一个不错的选择,特别在Android开发中它可以说是数据存储的首选。

创建数据库并且创建表

在Android中要对SQLite数据库进行操作首先要创建数据库和创建表。这些工作都放在SQLiteOpenHelper的子类中进行。

class MyDatabaseHelper extends SQLiteOpenHelper {

    public static final String CREATE_BOOK = "create table Book ("
            + "id integer primary key autoincrement, "
            + "author text, "
            + "price real, "
            + "pages integer, "
            + "name text, "
            + "category_id integer)";

    private Context mContext;

    MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        mContext = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_BOOK);
        Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}

在上面的代码中,首先定义了一个常量CREATE_BOOK ,这个常量里面装的是一条建表语句,然后在MyDatabaseHelper的构造方法中通过super调用父类SQLiteOpenHelper的构造方法,这里传入了四个参数,分别是Context对象,数据库名,用于创建Cursor对象,数据库版本号。若不存在指定名称的数据库则新建数据库,若已经存在则打开该数据库。

然后是重写的onCreate()和onUpgrade()方法,这两个方法是从SQLiteOpenHelper中继承下来的,都必须重写。在onCreate()方法中通过execSQL()执行建表语句。

打开和关闭数据库

要对数据库进行什么增删查改的操作首先得打开数据库,完成操作后记得将数据库关闭。

在Service或Activity的onCreate()方法中调用

MyDatabaseHelper dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 1);

这时数据库并未打开,只有调用了getWritableDatabase()或getReadableDatabase()才算是正式打开数据库。

SQLiteDatabase db = dbHelper.getWritableDatabase();

getWritableDatabase()和getReadableDatabase()这两个方法都可以打开数据库,不同的是当数据库不可写入的时候(如数据库满了),前者会出异常,后者则打开数据库成功但是只能进行读取数据操作。

操作完成后其实不关闭数据库也不会有什么问题,但是为了良好的习惯,在使用完后还是调用下面的方法将其关闭。

阿里云国际站:android sqlite数据库文件
db.close();

对数据库进行增删查改操作

打开数据库后,就可以对数据库进行操作了,增删查改都可以。

//插入数据
db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)", 
           new String[] {"The Da Vinci Code", "Dan Brown", "454", "16.96"});

注意这里的占位符与刚刚不一样,用的是问号”?”。

//更新数据
db.execSQL("update Book set price = ? where name = ?", new String[] {"10.99", "The Da Vinci Code"});
//删除数据
db.execSQL("delete from Book where pages > ?", new String[] {"500"});
//查询数据
db.rawQuery("select * from Book", null);

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/170830.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月23日 17:11
下一篇 2024年3月23日 17:17

相关推荐

  • 保山阿里云企业邮箱代理商:钉钉邮箱怎样修改密码

    保山阿里云企业邮箱代理商:钉钉邮箱怎样修改密码 在使用钉钉邮箱时,有时候我们需要修改密码。下面将为大家介绍如何通过阿里云企业邮箱代理商来修改密码,同时分析阿里云企业邮箱代理商的优势。 一、登录阿里云企业邮箱代理商 首先,打开您的浏览器,输入阿里云企业邮箱代理商的网址,进入登录界面。使用您的账号和密码进行登录。 二、找到账户设置 成功登录后,点击页面右上角的头…

    2024年1月14日
    21600
  • 阿里软件著作权

    阿里软件著作权指的是阿里巴巴集团及其子公司所拥有的软件著作权。阿里巴巴作为中国知名的互联网巨头,拥有大量的软件产品和技术,涵盖电子商务、云计算、人工智能等多个领域。阿里巴巴及其子公司的软件著作权包括但不限于电商平台、金融科技产品、搜索引擎、操作系统、大数据分析工具等。这些软件著作权的注册和保护,有助于阿里巴巴维护自身的技术竞争优势,同时也有助于保护知识产权和…

    2023年9月27日
    23000
  • 阿里云的ai智能剪辑

    阿里云的AI智能剪辑是一项基于人工智能技术的视频剪辑服务。它通过分析视频中的元素和场景,自动识别关键信息,并根据用户的需求进行内容剪辑、裁剪、合成和编辑等操作,从而实现智能化的视频剪辑过程。 具体来说,阿里云的AI智能剪辑包括以下几个核心功能: 视频理解:AI智能剪辑可以通过深度学习算法对视频进行分析和理解,识别出其中的人物、场景、动作等元素,以及视频的整体…

    2023年8月6日
    33000
  • 漳州阿里云代理商:阿里云 自己搭建redis

    非常感谢您对阿里云的信赖和支持。以下是阿里云阿里云代理商漳州分部的回答: 如果您想在阿里云上自己搭建Redis,有以下几个步骤: 在阿里云上创建一台ECS实例,在操作系统中安装Redis软件; 创建Redis配置文件,配置Redis服务的参数,如端口号、密码等; 启动Redis服务,并在防火墙中开放Redis服务的端口号; 配置Redis的持久化,将内存中的…

    2024年3月10日
    19000
  • 长春阿里云代理商:adt无法启动

    长春阿里云代理商:adt无法启动可能由以下原因导致: 服务器配置不符合adt的要求:请检查服务器的配置是否满足adt的最低要求,例如操作系统版本、内存、硬盘空间等。 adt程序损坏或丢失:请检查adt程序文件是否完整,尝试重新下载或从备份中恢复adt程序文件。 端口冲突:请检查服务器上是否有其他程序占用了adt所需的端口,可以尝试更改adt的端口号。 防火墙…

    2024年1月12日
    21300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/