database
文章平均质量分 66
锐湃
这个作者很懒,什么都没留下…
展开
-
Room和Flow的最佳实践指南
Room是一个SQLite对象映射库,它提供了SQLite数据库的抽象层,使得在Android应用中轻松进行数据库操作。通过Room,开发者可以在编译时进行SQL查询的验证,并且能够轻松地将数据库表中的数据转换为Java或Kotlin对象。Flow是Kotlin协程提供的一种基于数据流的异步编程工具,它可以帮助我们处理异步操作、数据流转换和错误处理。在Android开发中,Flow库已经成为了处理异步任务和数据流的重要工具,可以提高代码的可读性和可维护性。转载 2024-03-27 17:27:26 · 231 阅读 · 0 评论 -
Room 数据库备份的2种方案
最近在写一个自用的轻量级记录 App,效果图如下:所有的笔记和图片数据都存在手机里,因为是自己用,所以不会有服务器,但是自己辛辛苦苦记录的数据还是需要有一份保险,那就需要一个数据的本地备份和还原功能。转载 2023-10-20 15:51:32 · 591 阅读 · 0 评论 -
在SQLite中是否有Long类型
通常情况下,SQLite根据存储的数据自动选择合适的整数类型。例如,如果要插入的整数值超出了INTEGER类型的范围,则SQLite将自动将其存储为BIGINT类型。因此,在大多数情况下,不需要特别指定使用哪种整数类型。相反,SQLite使用不同的数据类型来存储整数值,例如INTEGER、BIGINT、SMALLINT和TINYINT。根据需要,这些整数类型可以存储不同的整数范围。在上述示例中,我们创建了一个名为”users”的表,其中包含了不同整数类型的列。根据实际需求,可以选择使用适当的整数类型。转载 2023-09-19 10:34:18 · 1296 阅读 · 0 评论 -
sqlite 数据类型 long,android sqlite 中存储 long 数据
在資料庫的技術中,一個資料庫(Database)表示應用程式儲存與管理資料的單位,應用程式可能需要儲存很多不同的資料,例如一個購物網站的資 料庫,就需要儲存與管理會員、商品和訂單資料。每一種在資料庫中的資料稱為表格(Table),例如會員表格可以儲存所有的會員資料。SQLite 資料庫的架構也跟一般資料庫的概念類似,所以應用程式需要先建立好需要的資料庫與表格後,才可以執行儲存與管理資料的工作。建立表格是在Android應 用程式中,唯一需要使用SQL執行的工作。其它執行資料庫管理與查詢的工作,Android转载 2023-09-19 10:36:34 · 373 阅读 · 0 评论 -
Sqlite中判断表是否存在的方法
sqlite会自动维护一个系统表sqlite_master,该表存储了我们所创建的各个table, view, trigger等等信息。sqlite_master表数据字段:type: 类型,取值一般为table, viewname:tbl_name: 表名rootpage:sql:创建表或者视图的sql语句,可以从该sql语句中判断某字段是否存在。转载 2023-09-13 16:03:25 · 2510 阅读 · 0 评论 -
sqlite 日期时间类型学习
datetime('now', 'localtime'),返回当前日期时间;strftime('%Y-%m-%d %H:%M:%S','now','localtime'),这么写,就返回当前日期时间的字符串,并可插入数据库;SQLite 没有一个单独的用于存储日期和/或时间的存储类,但 SQLite 能够把日期和时间存储为 TEXT、REAL 或 INTEGER 值。试着在datetime类型的字段插入一个随意的值;另外一个内置函数,strftime,从名字看,这函数返回日期时间的字符串;转载 2023-09-13 13:51:36 · 1973 阅读 · 0 评论 -
SQLite 中的日期和时间
这一点和其他数据库不同,通常数据库字段的类型决定了可以存储的数据类型。其次,SQLite 没有提供专门用于存储日期和时间的数据类型。通常我们可以使用 TEXT、REAL 或者 INTEGER 存储日期和时间,SQLite 提供了支持这些数据类型的日期和时间函数。TEXT 存储日期和时间时使用 ISO8601 格式的字符串(“YYYY-MM-DD HH:MM:SS.SSS”)。转载 2023-09-13 13:43:40 · 3858 阅读 · 0 评论 -
用idea查看sqlite数据库idea sqlite
idea查看sqlite数据库idea sqlite原创 2023-08-29 16:54:08 · 2514 阅读 · 0 评论 -
SQLite Autoincrement及实例,主键自增长
在上面的示例中,我们创建了一个名为users的表,其中包含三个列:id、name和age。在id列的声明中,我们使用了AUTOINCREMENT关键字,这将告诉SQLite自动生成唯一的自增ID。SQLite中的Autoincrement是一个用于生成自增ID的特殊关键字。当在表的列声明中使用Autoincrement时,SQLite会自动为该列生成一个唯一的自增ID。需要注意的是,当使用Autoincrement时,SQLite会自动为每个插入的行生成一个唯一的自增ID,无需手动指定。转载 2023-08-29 15:23:10 · 4215 阅读 · 0 评论 -
SQLite - Java java sqlite
在 Java 程序中使用 SQLite 之前,我们需要确保机器上已经有 SQLite JDBC Driver 驱动程序和 Java。如果您还未了解相关知识,那么建议您可以先花半个小时学习下 JDBC 教程相关知识,这将有助于您学习接下来讲解的知识。下面的 Java 程序显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。,或者在 -classpath 选项中使用它,这将在后面的实例中进行讲解。现在,让我们来编译和运行上面的程序,在当前目录中创建我们的数据库。转载 2023-08-28 14:29:48 · 951 阅读 · 0 评论 -
如何在Java项目中使用sqlite?使用SQLite的步骤和示例详解
在Java项目中使用SQLite提供了一种简单和高效的本地数据存储解决方案。本文介绍了使用SQLite的步骤,并提供了一个示例代码来帮助你更好地理解和实践。通过遵循这些步骤,你可以轻松地在Java项目中使用SQLite进行数据库操作。继续深入学习和探索SQLite的功能和特性,你将能够构建出更复杂和功能丰富的应用程序。祝你在开发旅程中取得成功!如何在Java项目中使用sqlite?使用SQLite的步骤和示例详解。转载 2023-08-28 14:03:47 · 6701 阅读 · 1 评论 -
Java 远程连接 SQLite 数据库
Java 可以使用 JDBC API 来连接 SQLite 数据库。但是,SQLite 不支持远程连接,因为它是一种文件数据库,需要直接访问数据库文件。如果您需要从远程位置访问 SQLite 数据库,可以将 SQLite 数据库文件放在共享文件夹中,并将该文件夹映射到本地计算机上。然后,您可以在本地计算机上使用 JDBC API 连接 SQLite 数据库。转载 2023-08-28 13:57:49 · 899 阅读 · 0 评论 -
使用 Picasso 加载显示联系人头像
Picasso 自带了对加载显示联系人头像的支持,只要传入联系人头像的 URL,例如, 再调用 ,即可完成对联系人头像的显示。但这种用法有个局限:当我们并不知道某个联系人的头像 URL 时,首先得通过名字(或其他,如电话号码)获取到联系人头像的 URL,而这通常是耗时操作(查询数据库),需要异步进行;这样一来,先异步查询出头像 URL,再交给 Picasso 进行异步加载并显示,两级异步显得有点儿鸡肋。所以本文除了简单介绍外,还将介绍另一种用法,下面,我们以 根据联系人名字获取联系人头像 为例,来讲解这两转载 2023-07-31 20:13:23 · 247 阅读 · 0 评论 -
联系人数据库读取
那么接下来,我们就首先来获取contacts表中的数据,这个表相当于联系人数据库中的user表,在android的数据库中,联系人的一些详细信息并不存在于contacts表中,而且存在其它表里面,contacts就是存储其他表中的一些id来关联这些数据。我们首先来获取联系人的姓名相关的信息,姓名相关的信息主要是存储在raw_contacts表中,该表的URI是ContactsContract.RawContacts.CONTENT_URI。”,那么第四个参数就是表示符合条件的情况的集合,转载 2023-07-31 17:31:37 · 156 阅读 · 0 评论 -
读取手机通讯录获取联系人信息
用Android SDK自带的模拟器打开DDMS,在data/data目录下找到com.android.providers.contacts包,打开database目录我们会发现contact2.db文件,用可视化工具打开会发现表结构非常复杂,但其实我们用到的主要就是三张表。通过contact_id来查找联系人,用得到的contact_id来查询具体的联系人信息(在ContactProvider2.java 类中我们可以看到每张表对应的UriMatcher为大写的表名)data表 联系人数据表。转载 2023-07-31 17:12:36 · 549 阅读 · 0 评论 -
Room数据库基础使用以及新增表,不增加版本号以及Migration的方法升级
也就是说,闪退修好了,表没了。假如是新项目周期较短,从开始到开发完,一般数据库是只会新增表,而不会修改表结构的,为了图省事,也可以采用清除数据或者卸载重装的方法。后续新增表里的字段的话则不一样,因为在数据库文件中,表已经生成好了,假设里面数据不重要的话,可以删除表再新建表,一般我们不会这样做。首先拷贝整个RoomOpenHelper,注释掉,以及拷贝FrameworkSQLiteOpenHelperFactory替换里面的参数,这个时候,你就会发现一片爆红,以及有一些无法解决的问题。转载 2022-12-16 23:30:09 · 1873 阅读 · 0 评论 -
使用Room操作数据库进行数据库版本的升级和迁移
原文链接:https://blog.csdn.net/lu202032/article/details/121064721。版权声明:本文为CSDN博主「路宇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。这样一个数据库的升级就完成了~ 后面就是更新UI 将新增的字段数据,或者减少的字段数据,展示给用户就行了。博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,前言:还是在上篇文章的基础上进行数据库版本的升级和迁移。转载 2022-12-16 23:06:40 · 353 阅读 · 0 评论 -
Room数据库升级
Sqlite。转载 2022-12-16 23:03:08 · 1488 阅读 · 0 评论 -
ROOM数据库的使用与升级
对于版本2升级到版本3时,重新创建需要改变的表,创建新的字段,并把旧数据保存进去。对于不改变的表不用执行sql语句,所以上述的stat_event表可以不用执行sql。项目中使用了GreenDao创建数据库,建立了一个库并在其中生成了2个表,现在做整体优化,想使用Room创建数据库,毕竟Room是google官方产品,还是值得尝试一波的。对于上述报错,仔细看下错误信息会发现,上面是Expected期望的数据类型,下面是Found执行发现的数据类型,对比会发现不太一样,直接按照Expected的去更改就行。转载 2022-12-16 21:31:24 · 200 阅读 · 0 评论 -
Room- 为表新增非空字段时报错
原文链接:https://blog.csdn.net/qq_20613731/article/details/121337313。版权声明:本文为CSDN博主「最孤单的人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。发现报错:(Cannot add a NOT NULL column with default value NULL)根据报错提示:添加非空字段时,默认值不能为空,即我们添加上默认值即可。当在新增数据库表字段时,在添加数据库迁移脚本代码的时候,转载 2022-12-16 21:26:02 · 558 阅读 · 0 评论 -
Room数据库升级
数据库升级在每一个版本上新的时候会经常遇到,一般是表字段进行了修改。以下四步是完成数据库升级的基本步骤。版权声明:本文为CSDN博主「互联网小熊猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。注意: Migration(1, 2)代表数据库版本从1升级到2,和前一步修改数据库版本对应。注意:version的版本号要和下面提到的MIGRATION要对应上!4、将添加的MIGRATION添加到数据构造中去。2、修改AppDataBase的版本号。1、添加Entity字段。转载 2022-12-16 16:58:53 · 694 阅读 · 0 评论 -
5 个免费的受欢迎的 SQLite 管理工具
SQLiteExpert – Personal EditionSQLite Expert 提供两个版本,分别是个人版和专业版。其中个人版是免费的,提供了大多数基本的管理功能。SQLite Expert 可以让用户管理 SQLite3 数据库并支持在不同数据库间诸如复制、粘贴记录和表;完全支持Unicode,编辑器支持皮肤。更多关于 SQLite Expert 个人版的信息请看这里Sqliteadmin AdministratorSQLite Administrator 是一...转载 2022-03-10 17:32:18 · 23018 阅读 · 1 评论 -
Schema export directory is not provided to the annotation processor so we cannot export the schema.
安卓room构建错误Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide room.schemaLocation annotation processor argument OR set exportSchema to false.未向批注处理器提供架构导出目录,因此无法导出架构。你可以提供room.schemaL转载 2022-03-03 17:01:00 · 4303 阅读 · 0 评论 -
sqlite limit 用法
SELECT * FROM trom_data WHERE device_id=12 ORDER BY time_stamp DESC LIMIT 1 OFFSET 0sql语句,其中LIMIT 1 OFFSET 0的意思是说在查询结果中以第0条记录为基准(包括第0条),取1条记录,这样所取得的记录即为第0条记录,也即此表中device_id=12 且time_stamp为最大的时间。LIMIT 所要取的记录数目(以基准点为参考点) OFFSET 基准点SELECT ...转载 2022-02-22 17:28:55 · 1821 阅读 · 0 评论 -
Room Entity使用
说明:Android Room 第二篇 - Entity使用主要介绍entity的作用原文地址:https://developer.android.com/training/data-storage/room/defining-data第一篇:Android Room概述使用Room entities 来定义数据当你在使用Room的时候,定义了一组相关的字段作为一个实体。对于每个实体,都会通过在数据库里面创建一张表的方式来处理这些数据。通常来说,Room 会为实体类中定义的每个字转载 2022-02-22 17:02:22 · 519 阅读 · 1 评论 -
Jetpack Room的详细教程
1. 简介自从Google推出了Room,我们可以优雅的使用sqlite数据库。当然用Room+Paging的组合,代码写起来飞起来 关于Room+Paging的使用方法请参考下面的教程。Paging在Android中的应用:Paging在Android中的应用 - 掘金在App的build.gradle的文件中添加Room库的引用。 def room_version = "2.2.5" implementation "androidx.room:room-runtime转载 2022-02-22 15:32:47 · 332 阅读 · 0 评论 -
Jetpack架构组件 — Room入坑详解
Room是Jetpack组件库一员,属于ORM库,主要是对Sqlite做了一层抽象,从而简化开发者对数据库操作。Room支持编译时的语法检查,并且支持返回LiveData。添加依赖在app的build.gradle中添加如下依赖:def room_version = "2.2.0-rc01"implementation "androidx.room:room-runtime:$room_version"// For Kotlin use kapt instead of annota转载 2022-02-17 15:18:50 · 388 阅读 · 0 评论 -
Jetpack之Room使用
1、引包 implementation 'androidx.room:room-runtime:2.2.5' implementation 'androidx.room:room-common:2.2.5' annotationProcessor("androidx.room:room-compiler:2.2.5") // To use Kotlin annotation processing tool (kapt) kapt("androidx.room:ro转载 2022-02-17 14:47:47 · 252 阅读 · 0 评论 -
为mysql数据库建立索引
前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。转载 2018-01-10 17:51:15 · 1261 阅读 · 0 评论 -
MySQL java连接被拒绝:java.sql.SQLException: Access denied for user 'root'@'****' (using password: YES)
//系统运行出现错误:java.sql.SQLException: Access denied for user 'root'@'***.**.**.**' (using password: YES)MySQL服务器部署在Ubuntu上,错误中被我隐掉的是我的公网IP。 数据库管理工具连接出现以下错误:这是由于“IP为***.**.**.**,名字为root”的用转载 2018-02-01 11:30:39 · 25662 阅读 · 3 评论 -
mysql-创建用户报错ERROR 1396 (HY000): Operation CREATE USER failed for 'XXXX'@'XXXX'
创建用户: create user ‘test’@’%’ identified by ‘test’; 显示ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@’%’ 查看是不是存在这个用户 select user from user; 发现没有这个用户。 记得上次有删除过这个用户。可能没有刷新权限 fl转载 2018-01-07 00:11:54 · 4164 阅读 · 0 评论 -
MySQL下载安装、配置与使用(x64)
用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤。(我这个写得有点太详细了,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路。当然,知道同学的可以略过,选择你想知道的地方看)转载 2016-06-15 17:30:29 · 564 阅读 · 0 评论