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

Like (0)
luotuoemo的头像luotuoemo
Previous 2024年3月23日 17:11
Next 2024年3月23日 17:17

相关推荐

  • 珠海阿里云代理商:阿里云系统盘扩容

    珠海阿里云代理商可以提供阿里云系统盘扩容的服务。系统盘是云服务器的根存储设备,存放操作系统和程序文件。当系统盘空间不足时,会影响服务器的正常运行。 阿里云代理商可以通过以下步骤来帮助用户进行系统盘扩容: 评估需求:代理商与用户沟通,了解系统盘空间不足的具体情况,确认需要扩容的大小。 提供解决方案:代理商根据用户的需求,提供合适的系统盘扩容方案,包括扩容的容量…

    2024年1月10日
    9400
  • 保定阿里云代理商:阿里云安装iptables

    阿里云安装iptables需要按照以下步骤进行操作: 登录到阿里云服务器,使用root用户或具有sudo权限的账户。 执行以下命令来安装iptables: sudo apt-get install iptables 或者 sudo yum install iptables 安装完成后,通过以下命令启动iptables服务: sudo service ipta…

    2024年2月14日
    8400
  • 阿里云传统数据仓库有哪些

    国内云计算公司有哪些? 云计算公司现在都是大企业在玩,小企业根本玩不动啊!阿里云 百度云 360云等 阿里云数据中心在哪些地方 阿里碧宽液的数据巧指中心主要都在南方浙江等地,杭州的数据中心最密集。虽然阿里在北京上海也有分公司,但拥有的都是本地公司的小数据中心悔物。 阿里云主机数据库服务器是什么 运行在局域网中的一台或多台计算机和数据库管理系统软件共同构成了数…

    2023年8月28日
    8600
  • 苏州阿里云代理商:app的大数据收集技术

    大数据收集技术是在智能系统、商品推荐、用户行为分析、风险控制等领域发挥着关键作用。阿里云作为全球领先的云服务提供商,为企业和开发者提供了高效、强大的大数据收集、处理和分析解决方案。 以下是阿里云推出的一些大数据收集技术: 阿里云日志服务(Log Service):以日志为数据载体,提供多种方式接入日志,满足不同业务场景下的日志收集需求。同时,提供实时数据消费…

    2024年3月12日
    9500
  • 阿里云创新中心建设

    两个具有全球影响力的创新中心 是哪两个中心呢 上海是其中的一个,全球科创中心,重点建设全球领先的重大实验基地,以及前沿的基础理论,技术研究。 推进以科技创新为核心的全面创新包括哪些内容 《方案》的出台,有着怎样的时代背景和需求?具体包含哪些内容?对于推动重庆产业升级和经济转型将有怎样的作用?3月7日,市科委主任李殿勋接受本报记者采访,对《方案》进行了详细解读…

    2023年8月29日
    8300

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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