首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Room数据库使用

前言   Room数据库是Google的JitPack组件中的一个,推出已经有一段时间了,现在的使用者也越来越多,Room是一个轻量级的ORM(Object Relational Mapping:对象关系映射...)数据库。...本质上就是对Android原生的SQLite的封装,只不过使用起来比原生简单,就好像一些开源库GreenDao、LitePal、OrmLite等,都是对Android SQLite的再次封装。...二、注解使用   注解使用,Room使用很简单的,这里有三个基本的使用注解,@Database、@Entity、@Dao。分别对于数据库、表、表的具体操作(增删改查)。 例如创建一个数据表User。...Room是对象关系映射型数据库,所以你可以不用写这个@ColumnInfo注解,写它主要是为了设置列名,不写则使用变量名做为列名。

70920

Android Room数据库使用

Room数据库使用 前言 正文 一、添加依赖 二、注解使用 三、表操作 1. 修改布局 2. 列表适配器 3. 页面初始化 4....增删改查 四、源码 前言   Room数据库是Google的JitPack组件中的一个,推出已经有一段时间了,现在的使用者也越来越多,Room是一个轻量级的ORM(Object Relational Mapping...本质上就是对Android原生的SQLite的封装,只不过使用起来比原生简单,就好像一些开源库GreenDao、LitePal、OrmLite等,都是对Android SQLite的再次封装。...二、注解使用   注解使用,Room使用很简单的,这里有三个基本的使用注解,@Database、@Entity、@Dao。分别对于数据库、表、表的具体操作(增删改查)。 例如创建一个数据表User。...Room是对象关系映射型数据库,所以你可以不用写这个@ColumnInfo注解,写它主要是为了设置列名,不写则使用变量名做为列名。

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android开发之使用SQLite数据库存储

    Android 集成了 SQLite 数据库 Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。...因此,Android 提供了一些新的 API 来使用 SQLite 数据库Android 开发中,程序员需要学使用这些 API。...下面会详细讲解如果创建数据库,添加数据和查询数据库。 创建数据库 Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。...应用程序,一定需要在 Android 上存储数据,使用 SQLite 数据库是一种非常好的选择。...本文介绍了如何在 Android 应用程序中使用 SQLite 数据库 ,主要介绍了在 Android 应用程序中使用 SQLite 创建数据库和表、添加数据、更新和检索数据,还介绍了比较常用的 SQLite

    2.6K20

    Android的room数据库使用小结(kotlin)

    Room是Google官方推荐使用数据库,相比较某些优秀数据库框架来说,不用过于担心某天库会停止维护,且访问数据库非常流畅,并且提供了与常规的ORM框架一样,通过添加编译期注解来进行表和字段的配置,譬如...总而言之, Room功能强大,速度和稳定性不弱,还简单易用,算得上是一个优秀的数据库。 这里总结下使用room数据库的过程和遇到的问题,以及如何稳定的进行数据库的迁移和升级。...首先准备,引入依赖,在app文件夹下的build.gradle中增加: //ROOM数据库 implementation "android.arch.persistence.room:runtime...:1.1.1" kapt "android.arch.persistence.room:compiler:1.1.1" 需要注意的是,使用的是kotlin,annotationProcessor...第三步,添加room数据库并封装个单例操作类, //AppDb.kt package com.xxx.xx.room import android.arch.persistence.room.Database

    3.2K50

    Android 高手进阶教程(二)之----Android 数据库SQLiteDatabase的使用!!

    大家好,好久没有更新博客了,最近由于身体不适让大家久等了,好了,直接进入主题~ Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库...今天我们将讲一下SQLiteDatabase 的使用。 而掌握SqliteDatabase ,将会我们接下来掌握ContentProvider 打下良好的基石。...android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View;...} 第五步:运行程序效果如下: image.png image.png image.png image.png image.png image.png 第六步:查看我们所建的数据库...另一种方法是用DDMS查看,在data/data下面对应的应用程序的包名 下会有如下数据库,如图所示: image.png 由于代码都是现写,时间原因,没有全部加注释,如果大家 有什么不懂的地方,可以留言

    32830

    Android 高手进阶教程(二)之----Android 数据库SQLiteDatabase的使用!!

    Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库SQLiteDatabase 存储。...今天我们将讲一下SQLiteDatabase 的使用**。** 而掌握SqliteDatabase ,将会我们接下来掌握ContentProvider 打下良好的基石**。...android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View;...(1) + "\_\_\_" + mCursor.getString(2)); return mTextView; } } } 复制代码 第五步:运行程序效果如下: 第六步:查看我们所建的数据库...另一种方法是用DDMS查看,在data/data下面对应的应用程序的包名 下会有如下数据库,如图所示: 如果大家 有什么不懂的地方,可以留言,我会尽快答复。 ok,今天就到这里,大家晚安!

    36500

    android studio使用SQLiteOpenHelper()建立数据库的方法

    android studio中存储数据有三个方法,分别是: (1)简单存储——SharedPreferences (2)文件存储:内部存储——应用程序私有文件外部存储——SD卡资源文件——只读( RAW...、XML) (3)数据库存储——SQLiteDataBase 今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库 SQLiteOpenH...elper中需要重载函数: onCreate( ):利用SQL语句,在系统中创建数据库(表)功能 onUpgrade( ):利用SQL语句,在系统中升级数据库(表)功能 注: onCreate()方法只有第一次数据库创建时会用到...android3.0以前打开虚拟机中的文件是用导航栏中的Tools中Android,3.0以后为了提供的更新工具把它舍弃了但我们可以通过View导航栏中Tool Windows中的Device File...说明我们数据库已经创建好了 总结 到此这篇关于android studio使用SQLiteOpenHelper()建立数据库的方法的文章就介绍到这了,更多相关android studio建立数据库内容请搜索

    1.8K20

    Android 使用ContentObserver监听数据库内容是否更改

    Android 使用ContentObserver监听数据库内容是否更改 ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库技术中的触发器...; import android.database.Cursor; import android.net.Uri; import android.os.Handler; import android.util.Log...; //用来观察系统里短消息的数据库变化 ”表“内容观察者,只要信息数据库发生变化,都会触发该ContentObserver 派生类 public class SMSContentObserver...; import android.os.Handler; import android.os.Message; import android.provider.*; import android.util.Log...使用ContentObserver的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    3.5K31

    Android LitePal让数据库使用so easy(译)

    如果英文比较好的可以点击 此处 查看原文 LitePal是一个开源Android库,它允许开发者快速容易地使用SQLite数据库....支持复杂的数据库. 封装了APIs为了避免书写SQL语句. 极好流畅的查询API. 你任然可以选择使用SQL语句, 但是使用它封装好的APIs要比原生的更好和更容易. 更多可以请往下浏览....使用Android Studio开发 编辑你的 build.gradle 文件并且添加以下依赖: compile 'org.litepal.android:core:1.4.1' 2.... 当然你也可以使用你自己已有的Application里去配置,例如: <application android:name=...例如, 使用下面的代码SQLiteDatabase来获取数据库实例: SQLiteDatabase db = LitePal.getDatabase(); 现在这些表会自动的生成,对应的SQLs语句如下

    63430

    Android Room数据库多表查询的使用实例

    Android-Room数据库(介绍) 前言 在SQLite数据库中,我们可以指定对象之间的关系,因此我们可以将一个或多个对象与一个或多个其他对象绑定。这就是所谓的一对多和多对多的关系。...这时候我们就得使用新的注解符@ForeignKey 接下来的内容,就需要上节的内容了 @Entity public class Company { @PrimaryKey(autoGenerate...String dept, int empId) { this.dept = dept; this.empId = empId; } //省略了getter/setter方法 } 这里我使用了...@ForeignKey关联了company表,主键id,外键emp_id,紧接着使用了indices创建了唯一索引。...DepartmentDatabase.getInstance(this) .getDepartmentDao().insert(departmentList); 这样我们就把需要的数据插入到数据库

    2K10

    Android 到 Windows Phone 8:使用 SQL 数据库

    在接下来的几篇文章中,我将介绍如何使用 Windows Phone 8 平台上的本地数据,并与 Android 平台相比较。...对于这种类型的数据,你可能会希望使用一个关系型存储工具来处理。更为具体的说,一个 SQL 数据库Android 和 Windows Phone 8 都支持使用 SQLite 关系数据库引擎。...本文假定你已经熟悉 Android 上 SQLite 的使用。 安装SQLite 你需要做的第一件事就是安装适用于 Windows Phone 应用的 SQLite。...提示 在 Android 中,您可以使用以下代码插入记录: public void insertPost(SQLiteDatabase db, String title, String text )...提示 在 Android 中,你可以使用以下代码得到一个包含所有记录的 Cursor 对象: public Cursor getPosts(SQLiteDatabase db){ String[]

    2.1K100

    Android数据库高手秘籍(三)——使用LitePal升级表

    在上一篇文章中,我们学习了LitePal的基本用法,体验了使用框架来进行创建表操作的便利。...因此,升级表的操作对于任何一个项目也是至关重要的,那么今天我们就一起来学习一下,在Android传统开发当中升级表的方式,以及使用LitePal来进行升级表操作的用法。...如果你还没有看过前一篇文章,建议先去参考一下 Android数据库高手秘籍(二)——创建表和LitePal的基本用法 。...但是如果使用LitePal,这一问题就可以简单地解决掉,比如说publishdate这一列我们又不想要了,那么只需要在Comment类中把它删除掉,然后将版本号加1,下次操作数据库的时候这个列就会不见了...好了,今天对LitePal的介绍就到这里吧,下篇文章当中我们会学习使用LitePal来进行表关联的操作,感兴趣的朋友请继续阅读 Android数据库高手秘籍(四)——使用LitePal建立表关联 。

    86450

    Android数据库高手秘籍(三)——使用LitePal升级表

    在上一篇文章中,我们学习了LitePal的基本用法,体验了使用框架来进行创建表操作的便利。...因此,升级表的操作对于任何一个项目也是至关重要的,那么今天我们就一起来学习一下,在Android传统开发当中升级表的方式,以及使用LitePal来进行升级表操作的用法。...如果你还没有看过前一篇文章,建议先去参考一下 Android数据库高手秘籍(二)——创建表和LitePal的基本用法 。...但是如果使用LitePal,这一问题就可以简单地解决掉,比如说publishdate这一列我们又不想要了,那么只需要在Comment类中把它删除掉,然后将版本号加1,下次操作数据库的时候这个列就会不见了...这也是使用框架的好处,如果没有框架的帮助,我们显然不会为了删除一个列而大废周章地去写这么多的代码,而使用框架的话,具体的实现逻辑我们已经不用再关心,只需要控制好模型类的数据结构就可以了。

    97490

    Android的LitePal数据库ORM使用总结(避坑指南)

    LitePal是Android《第一行代码》作者郭神的开源ORM框架,一个很好用的ORM。 虽然好用,但是如果不加注意,会遇到很多坑。所谓坑,并不是说框架不好,只是说有一些细节注意不到可能会犯错。...先介绍下简单使用: app目录下的build.gradle中增加依赖: //litepal数据库ORM implementation 'org.litepal.guolindev:core:3.2.3'...external则在Android/data/目录下能找到数据库文件。但是,无论设置为哪种,只要应用卸载,数据库就跟着清除掉了。 如何能够持久保留数据库文件,不受是否卸载的影响呢?...问题六: LitePal数据库的操作,默认是在主线程中的,使用时需注意自己处理线程和异步问题。 虽然之前版本LitePal提供的有异步操作api,但是作者说了,尽量少用。后续版本可能废弃不再维护。...推荐应用开发者自己处理异步问题,如使用RxJava异步库。 问题七: LitePal不能更改数据库表名和字段名。默认的表名就是定义的实体类的类名,且都为小写,字段名都是实体类中定义的属性的小写。

    62330

    Android SQLite数据库

    这两个方法都可以创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象。...SQLiteOpenHelper中有两个构造方法可提供重写,一般使用参数较少的构造方法即可。...参数: Context; 数据库名; Cursor:允许我们在查询数据的时候返回一个自定义的Cursor,一般传null; 当前数据库的版本号:可用于对数据库进行升级操作。...使用SQL操作数据库 添加数据: db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)")...这样当用户直接安装第2班程序时,就会进入onCreate()方法,将两张表一起创建,而当用户使用第2班的程序覆盖第1版的程序时,就会进入升级数据库的操作,由于Book已经存在,就会只创建个Category

    2.1K20

    Android数据库加密

    Android数据库加密 一、简介 SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的读写效率、资源消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如Android...Android系统内置了SQLite数据库,并且提供了一整套的API用于对数据库进行增删改查操作,具体就不详细说明了。 然而,Android平台自带的SQLite有一个致命的缺陷:不支持加密。...三、解决方案* 1.将数据加密后再写入数据库: 我们可以对数据的数据库名,表名,列名就行md5,对存储的数据进行加密,例如进行aes加密(Android数据加密之Aes加密),查询的时候再对数据进行解密...这种方式使用简单,在入库/出库只需要将字段做对应的加解密操作即可,一定程度上解决了将数据赤裸裸暴露的问题,这种只是靠存取数据库时通过自己的一些算法加密解密,一定程度上会影响性能。...下面就是具体介绍SQLCipher的使用方法。 SQLCipher使用 SQLCipher是完全开源的软件,提供256-bit AES加密。

    2.3K10

    Android数据库高手秘籍(八)——使用LitePal的聚合函数

    因此,任何一个关系型数据库中都会提供像count()、sum()等聚合函数。那么不出你所料,LitePal当中也是对这些聚合函数都进行了封装,让我们的操作可以变得更加简单。...因此,今天我们就来学习一下LitePal中聚合函数的用法,还没有看过前面一篇文章的朋友建议先去参考 Android数据库高手秘籍(七)——体验LitePal的查询艺术 。...当然这里并不一定要用count(1),使用count(*)或者count(主键)都可以。...那么我们的这个Android数据库高手秘籍教程到这里也就要暂停了,这个系列短期不会再更新,而是等到LitePal发布了新版本,有了新功能之后才会对它继续进行讲解。...后面我仍然会继续分享更多Android技术相关的其它文章,感谢大家对本专栏的持续关注。

    1.8K70

    Android数据库高手秘籍(四)——使用LitePal建立表关联

    目前我们已经对LitePal的用法有了一定了解,学会了使用LitePal来创建表和升级表的方式,那么今天就让我们一起继续进阶,探究一下如何使用LitePal来建立表与表之间的关联关系。...还没有看过前一篇文章的朋友建议先去参考 Android数据库高手秘籍(三)——使用LitePal升级表 。...因此,使用LitePal来自动建立表关联又是一个非常不错的选择,我们不需要关心什么外键、中间表等实现的细节,只需要在对象中声明好它们相互之间的引用关系,LitePal就会自动在数据库表之间建立好相应的关联关系了...那么到这里为止,我们就把使用LitePal进行表管理的知识全部学完了,从下一篇文章开始,我将会讲解如何使用LitePal进行CRUD的操作。...感兴趣的朋友请继续阅读 Android数据库高手秘籍(五)——LitePal的存储操作 。

    1.7K90
    领券