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

相关推荐

  • 苏州阿里云代理商:asp网站编码转换

    苏州阿里云代理商提供ASP网站编码转换服务。ASP(Active Server Pages)是一种服务器端脚本语言,用于动态生成网页。在ASP网站开发中,经常会遇到网页编码不一致的问题。苏州阿里云代理商可以帮助您将ASP网站的编码进行转换,确保网页显示正常。 ASP网站编码转换涉及将网页从一种编码格式转换成另一种编码格式,常见的编码格式包括UTF-8、GBK…

    2024年2月1日
    20500
  • 玉环阿里云企业邮箱代理商:阿里外贸邮登录入口

    玉环阿里云企业邮箱代理商:阿里外贸邮登录入口 阿里云企业邮箱是一款专为企业用户打造的高效沟通工具。作为玉环地区的阿里云企业邮箱代理商,我们提供了便捷的阿里外贸邮登录入口,方便用户快速进入邮箱系统。 阿里云企业邮箱的优势 阿里云企业邮箱拥有以下几个主要优势: 稳定可靠:阿里云作为全球领先的云服务提供商,为企业邮箱提供了稳定可靠的基础设施和技术支持。用户无需担心…

    2024年2月3日
    20500
  • 阿里云数据库被删除

    非常抱歉听到阿里云数据库被删除的消息。 如果阿里云数据库被误删除,以下是一些处理步骤可以尝试恢复数据: 立即停止所有可能影响数据恢复的操作,包括写入新的数据到数据库中。 尽快与阿里云的技术支持团队联系,告知他们情况,并提供相关详细信息。阿里云的技术支持团队将提供专业的帮助和指导。 确认是否有数据备份。如果有备份,可以尝试通过备份恢复数据。阿里云提供了一些数据…

    2023年10月6日
    15400
  • 阿里云物联网连接数

    怎样查看阿里云服务器的最大连接数 用远程连接阿里云服务器,打下面Linux指令cat /proc/sys/net/netfilter/nf_conntrack_max 如何知道自己的阿里云服务器有几个人在连接,跪求,先谢过 展开全部控制面板~网络和拨号连接~本地连接~右键属性~internet协议~属性。如果本Ip已设IP地址就是本机IP地址;如未设IP地栏…

    2023年8月26日
    14800
  • 阿里云服务器买哪种合适

    阿里云提供了多种不同配置的服务器,根据你的实际需求来选择合适的服务器。以下是一些建议: 根据业务需求选择合适的云服务器类型:阿里云提供了不同的云服务器类型,如通用型、计算优化型、内存优化型、存储优化型等。根据你的应用场景和性能要求选择合适的服务器类型。 根据预算和实际需求选择服务器配置:阿里云提供了不同配置的服务器,包括不同的CPU、内存、存储等。根据你的预…

    2023年9月23日
    16200

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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