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

相关推荐

  • 嘉兴阿里云代理商:android拷贝数据库

    如果要在Android中拷贝数据库,可以按照以下步骤进行操作: 首先,确保将数据库文件放置在Android项目的”assets”文件夹中。 创建一个数据库帮助类,用于管理数据库的创建和更新。继承自SQLiteOpenHelper类,并实现其onCreate和onUpgrade方法。 在onCreate方法中,将数据库文件复制到设备上的…

    2024年2月12日
    39000
  • 宿迁阿里云代理商:ajax_mysql数据库

    阿里云是中国最大的云计算平台,提供各种云计算服务,包括云服务器、云数据库、云存储等。阿里云代理商是指与阿里云合作的合作伙伴,可以代理阿里云的产品和服务,为客户提供销售、咨询、技术支持等服务。 “ajax_mysql数据库”的描述比较模糊,不太清楚指的是什么。一般来说,Ajax是一种前端技术,可以在不重新加载整个网页的情况下,与服务器进…

    2024年1月13日
    34400
  • 如何将阿里云企业邮箱与企业质量管理系统对接?

    如何将阿里云企业邮箱与企业质量管理系统对接 在当今竞争激烈的市场环境中,企业需要高效的信息沟通和管理工具来提升其运营效率。而阿里云企业邮箱作为一款功能强大且灵活的电子邮件服务,其搭配企业质量管理系统的使用,将为企业带来诸多便利。本文将为您详解如何将阿里云企业邮箱与企业质量管理系统对接,并强调阿里云企业邮箱及其代理商的优势。 一、阿里云企业邮箱概述 阿里云企业…

    2024年10月16日
    27500
  • 潍坊阿里云代理商:阿里-云服务器ecs

    潍坊阿里云代理商提供阿里云服务器ECS服务。阿里云服务器ECS是阿里云推出的弹性计算服务,为用户提供可调整的虚拟服务器环境。通过ECS,用户可以根据自身需求随时选择计算资源,并进行弹性扩展和缩减。 作为阿里云代理商,潍坊代理商将提供以下服务: 售卖:提供阿里云ECS产品的售卖服务,根据用户需求销售不同配置的云服务器实例。 部署和配置:协助用户选择适合的服务器…

    2024年1月18日
    34200
  • 可以通过邮件获取阿里云企业邮箱的详细技术解决方案吗?

    阿里云企业邮箱详细技术解决方案 随着数字化时代的到来,企业对于高效、可靠的邮箱服务的需求日益增加。阿里云企业邮箱作为国内领先的邮箱服务之一,以其强大的功能和灵活的配置赢得了众多企业的青睐。在本文中,我们将详细探讨阿里云企业邮箱的技术解决方案及其代理商的优势。 一、阿里云企业邮箱概述 阿里云企业邮箱是阿里巴巴集团推出的一项邮箱服务,旨在为企业提供安全、高效的邮…

    2024年10月31日
    29700

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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