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

相关推荐

  • 阿里云数据库可视化工具

    阿里云数据库可视化工具是一种用于管理和监控阿里云数据库的工具,它提供了直观的图形界面,可以帮助用户更方便地进行数据库操作和监控。阿里云数据库可视化工具的功能包括数据库的创建、删除、备份、恢复,表的创建、修改、删除,数据的插入、更新、删除,以及数据库的性能监控和优化等。 阿里云数据库可视化工具提供了用户友好的界面和丰富的功能,使数据库管理变得更加简单和高效。用…

    2023年8月15日
    26600
  • 新大陆物联网仿真云平台连接异常怎么解决

    esp8266mod怎么接入新大陆物联网云服务平台 单片机只要负责和wifi模块通信好就行,一般是串口。wifi模块要设置云主机的IP和端口号,是否一指波英直发送心跳包看wi360问答fi模块的手册了,wifi模块还要设置wifi网络和密码和加密协议。最简单的法就是问卖wifi模块的厂家,让他们全程指导。不同的wifi模块功能可能也略有不同 物联网数据采集网…

    2023年8月26日
    18600
  • 咸阳阿里云企业邮箱代理商:阿里云服务器租用价格表

    阿里云企业邮箱代理商:阿里云服务器租用价格表 阿里云企业邮箱和阿里云企业邮箱代理商的优势: 1. 阿里云企业邮箱的优势: 高可靠性:阿里云企业邮箱采用多机房、多备份的架构,保证邮件系统的稳定性和可靠性。 强大的安全性:阿里云企业邮箱提供多层次的安全控制,包括防病毒、反垃圾邮件、入侵检测等功能,保护企业邮件不受恶意攻击。 灵活的扩展性:阿里云企业邮箱支持多用户…

    2024年2月1日
    22500
  • 阿里云服务费用

    阿里云的服务费用根据不同的产品和服务而有所不同。以下是阿里云常见的服务费用: ECS(Elastic Compute Service):根据实例的规格、地域、使用时长等因素计费。 RDS(Relational Database Service):根据数据库类型、规格、地域、使用时长等因素计费。 OSS(Object Storage Service):根据存储…

    2023年9月7日
    20500
  • 阿里云在大型企业应用

    阿里云服务,是一个企业内部系统?用于哪些地方多。 阿里云是云主机,不是独立服务器。win7或win8都是特别大的程序,运行时需要耗费特别大的内存资源,所以阿里云不支持安装WIN7和WIN8。我们提供专业的独立服务器租用业务,8核8G服务器只要488元每月。希望能帮到您!望采纳!谢谢! 有哪些大公司服务器放在阿里云 阿里云提供的云主机服务是基于阿里云自主研发的…

    2023年8月26日
    23300

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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