阿里云国际站: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

相关推荐

  • 东莞阿里云代理商:access数据库的结构

    Access数据库的结构主要由表格、查询、表单和报表组成。 表格(Table):是Access数据库中存储数据的主要对象,用于存储具有相同字段结构的数据记录。每个表格由行(记录)和列(字段)组成,且每个字段都具有指定的数据类型和属性。 查询(Query):用于从表格中提取数据并根据需要进行排序、过滤和计算等操作。查询可以根据用户定义的条件从一个或多个表格中取…

    2024年2月7日
    41900
  • 洛阳阿里云代理商:阿里云 mysql事务

    阿里云 MySQL事务:优势和好用之处 引言 阿里云作为全球领先的云计算服务提供商,提供了广泛的云服务,包括数据库服务。其中,阿里云 MySQL事务是一项重要的功能,本文将详细介绍其优势和好用之处。 保证数据一致性 MySQL事务是一种用于管理数据库操作的机制,能够确保一组相关的操作要么全部成功,要么全部失败。在分布式环境下,数据一致性是一个关键问题。阿里云…

    2024年1月18日
    41300
  • 阿里云计算6万亿美元估值多少人民币

    阿里市值上万亿,那么实际资产大概是多少呢?如果实际资产有那么多,那因该比现在强大很多呀? 实际资产没有多少的,虚拟资产高而已! 5600亿美元等于多少人民币 一美元等于6.3356人民币;转换人民币大约3547936000000元。可以说是3万5千4百79亿3千6百万元人民币, 6千亿元换成美元等于多少 人民币对美元汇率现在是6.1左右,也就是1美元兑6.1…

    2023年8月28日
    46900
  • 阿里云企业邮箱:哪里下载阿里云归档工具?

    阿里云企业邮箱归档工具下载指南 一、阿里云企业邮箱的核心优势 阿里云企业邮箱作为国内领先的企业级邮件服务,依托阿里云强大的技术底座,提供高达99.9%的服务可用性。其分布式架构设计可轻松应对百万级并发请求,智能反垃圾系统采用机器学习算法实现98%以上的垃圾邮件拦截率。企业用户可享受专属的@yourcompany.com域名邮箱,配合5TB起跳的海量存储空间,…

    2025年7月30日
    37200
  • 包头阿里云代理商:阿里云服务器建站视频教程

    阿里云代理商提供的服务主要包括硬件设备的销售、设备的安装、维护和更新,以及相关的技术咨询服务。如果你在包头需要购买阿里云服务器或需要相关的服务,你可以联系包头的阿里云代理商。 如果你想了解阿里云服务器建站的流程,以下是一个基础的视频教程步骤: 阿里云服务器购买:首先,你需要在阿里云官网上购买一个云服务器。在购买时,你可以根据你的需求选择不同的配置。 服务器系…

    2024年3月16日
    40600

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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