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

相关推荐

  • 阿里云开发应用实例

    阿里云上怎样编写matlab知乎 小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:远程桌面连接(microsoftterminalservicesclient,mstsc):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。管理终端vnc:无论您在创建实例时是否购买了带宽,只要您本地…

    2023年8月29日
    71100
  • 阿里云怎么建立mysql数据库

    在阿里云上建立MySQL数据库的步骤如下: 登录阿里云控制台,找到云数据库RDS服务,并点击进入。 点击创建实例按钮。 在创建实例页面,选择MySQL数据库引擎类型,并根据需求选择数据库版本、地域、可用区等配置。 配置实例规格,包括实例类型、存储空间、可用区等。 配置网络类型和访问控制,可以选择经典网络或专有网络,并设置白名单允许访问数据库的IP地址。 设置…

    2023年9月14日
    68200
  • 阿里云企业邮箱:阿里云企业邮箱如何设置邮件延迟发送?‌

    阿里云企业邮箱:如何设置邮件延迟发送 在现代的企业工作环境中,邮件已经成为了沟通和协作的重要工具。尤其是对于使用阿里云企业邮箱的用户来说,邮件的发送不仅仅是传递信息,还可以通过一些功能来优化沟通效果。其中,邮件延迟发送功能的引入,使得很多用户在工作中更加高效地处理邮件。然而,如何设置邮件的延迟发送呢?本文将详细介绍阿里云企业邮箱如何设置邮件延迟发送,并结合阿…

    2025年4月17日
    62400
  • 阿里云国际站:android内部存储代码

    如果你想在Android应用程序中使用内部存储,你可以使用以下代码示例: 读取文件内容: String filename = "myfile.txt"; try { FileInputStream fis = openFileInput(filename); BufferedReader br = new BufferedReader(n…

    2024年2月22日
    67500
  • 阿里云计算acp认证报名

    敏捷PMIACP考试报名条件和考试费用多少钱 PMI-ACP敏捷认证的报名条件:培训机构颁发的21个PDU证明;一年的项目管理经验;8个月的敏捷团队参与经验;PMI-ACP敏捷认证的考试费用是3300元。 我想知道阿里云ACA考试 是通过什么方式的? 问答还是选择,还是什么形式 你好!阿里云服务器最重要的是其多年的稳定性,以及与其配套的各种资源,比如开放式数…

    2023年8月28日
    79900

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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