android数据库

Android 官方架构组件--ROOM 数据库操作简单介绍

守給你的承諾、 提交于 2019-11-28 08:30:33
本文只是简单的介绍一下怎么在我们的项目中使用ROOM和一个简单的小例子。 ROOM是Google官方推出的一个持久性数据库,Room持久性库提供了SQLite的抽象层,以便在充分利用SQLite的同时允许流畅的数据库访问。 ROOM的引用: compile "android.arch.persistence.room:runtime:1.0.0" annotationProcessor 'android.arch.persistence.room:compiler:1.0.0' ROOM数据库,一共有三个部分:DAO、Entity、Database; DAO: 这个组件代表了一个类或者接口作为DAO。DAOs 是Room中的主要组件,并且负责定义访问数据库的方法。被注解为@Database的类必须包含一个没有参数的抽象方法并且返回注解为@Dao的类。当在编译时生成代码,Room创建一个这个类的实现。(其实里面就是对数据库的增删改查操作) Entity: 这个组件代表了一个持有数据行的类。对于每个entity,一个数据库表被创建用于持有items。你必须引用entity类通过Database类中的entities数组。每个entity字段被持久化到数据库中除非你注解它通过@Ignore(这个就是某一个表的具体字段) Database: 你可以使用这个组件创建一个数据库holder

Android 数据库SQLite升级降级

家住魔仙堡 提交于 2019-11-28 08:29:53
前言 作业系统的新版本开发结束,由于后台的习题信息的数据字段和个数改变了,所以Android本地的数据库表字段也需要做相应调整。记录下关于数据库的升级和降级相关知识。超简单 。:) 一,SQLite SQLite是Android内置的一个轻量级的关系型数据库。数据库嘛,就是用来存储数据的。在什么情况下,Android开发需要用到数据库存储数据呢? 需要存储大量的结构化的数据,使用关系型数据库更方便。 二,主要方法 1.构造方法: public ClassName(Context context, String name, CursorFactory factory, int version) 参数1:上下文对象(MainActivity.this)、 参数2:数据库的名称、 参数3:创建Cursor的工厂类,参数为了可以自定义Cursor创建(ps:一般为null)、 参数4:数据库的版本 2.三个回调函数: onCreate(SQLiteDatabase db) 第一次运行才会执行,本地没有数据库,执行创建数据库 。 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 本地有数据库,覆盖安装的数据库版本比本地数据库版本高,执行数据库版本升级。 onDowngrade(SQLiteDatabase db, int

Android Sqlite数据库升级——kotlin

99封情书 提交于 2019-11-28 08:29:14
Android Sqlite数据库升级——kotlin   对于android开发同学来说,数据库相关操作是我们日常操作之一,相应的数据库的升级操作就必不可少了。这里我总结下数据库升级时需要注意的事项。 Android中数据库操作的核心类是SqliteOpenHelper,这个类有两个方法,onCreate和onUpgrade。onCreate方法只会调用一次,onUpgrade方法会在版本号增加之后触发。 数据库升级的操作过程中,我们需要处理的情况有两种,第一种是数据库从低版本升级上来的,第二种是新安装app的用户。 每次数据库需要升级时,我们需要将新版本的修改同步到两个地方: 一个是onCreate方法中,这里确保新安装app的用户可以使用到最新的数据库,所以这里创建数据库的语句应该是可以直接创建最新版本数据库的语句。 另一个是onUpgrade方法中,在这里我们需要确保低版本用户在升级到最新版时,能够将数据库更新到最新,这里我们就需要将各个版本间的差异用代码体现出来。 代码如下: // 表的名字 const val sqlite_name = "MySqliteHelper.db" internal class MySqliteHelper ( context : Context , version : Int ) : SQLiteOpenHelper ( context ,

android Room数据库了解

扶醉桌前 提交于 2019-11-28 08:28:05
greenDao和Room数据库框架,每一个表都要创建对应的database数据字段,增删改查的文件,Entity实体类也要注解字段类型和ID 1. greenDao之后,数据库官方框架,了解下: https://blog.csdn.net/u012735483/article/details/78737622 2. 参考 (基础曾删改查实现):https://blog.csdn.net/u010198148/article/details/78521558 3. RxJava依赖2.0 参考:https://www.jianshu.com/p/785d9dfb0a5b //RxJava的依赖包 compile 'io.reactivex.rxjava2:rxjava:2.0.3' //RxAndroid的依赖包 compile 'io.reactivex.rxjava2:rxandroid:2.0.1' 编译出错,解决: //RxJava的依赖包 compile 'io.reactivex.rxjava2:rxjava:2.0.3 改成: compile "android.arch.persistence.room:rxjava2:1.0.0" 4. constraintLayout使用参考: https://blog.csdn.net/guolin_blog/article

Android Room数据库的使用

旧街凉风 提交于 2019-11-28 08:27:50
我们在很多项目中都会使用到数据库SQLite,我之前在项目中都是用的第三方框架GreenDao,知道前几天我才听说有个Google自己弄出来的框架Room,后来我研究了几天,简直吊炸天啊!代码量减少了很多,而且使用起来非常的简单。 首先, 什么是Room?为什么要选择Room? Room是Google官方的数据库框架,在SQLite上提供了一个抽象层,以便在利用SQLite的全部功能的同时能更加流畅的访问数据库。 优点是: 1.大大的减少了代码量,,是大大的!!! 2.层次清晰,上手简单,而且这是谷歌官方提供的,更加安全可靠 下面说一下使用的过程: 1.在app/build.gradle中添加以下依赖 //room implementation 'android.arch.persistence.room:runtime:1.0.0' annotationProcessor 'android.arch.persistence.room:compiler:1.0.0' 2.创建实体类,定义Entity @Entity public class User { @PrimaryKey(autoGenerate = true)//主键是否自动增长,默认为false private int id; private String name; private int age; public

Android+服务器上数据进行操作+mysql的增删改查

[亡魂溺海] 提交于 2019-11-28 05:12:33
我们都知道我们的数据都在数据库上 我们同样要对我们的数据进行操作,我们怎么搞呢 我们首先要知道mysql.db这个东西,这是我们链接数据库的包 然而我们发现这个东西一直报错,经过编者的仔细寻找,终于解决了 这里:我只说mac本的方法 第一步我们需要下载一个brew,打开终端输入命令:ruby -e "$(curl —insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 第二步输入命令:brew install mysql 第三步命令:pip install MySQL-python==1.2.5 完成后我们打开我们的Python就不会报错了 我们开始我们的增删改查的操作附上代码: select.py #-*-coding:utf-8-*- #导入mysql包 import MySQLdb #打开数据库连接 #1.host主机的ip #2.user数据库用户名 #3.passwd数据库密码 #4.db数据库名字 #5.port数据库端口号默认3306 #如果设置允许远程连接数据库,在mysql库里面,user表host字段内容改成%,同时刷新数据库flush privileges host= "39.107.102.34" #数据库用户名 user= "root"

Android连接Mysql数据库教程以及增删改查

匆匆过客 提交于 2019-11-28 05:07:05
Android连接Mysql数据库教程以及增删改查学习笔记(Android与数据库 (二)) 安装Mysql的驱动(Android需要mysql的驱动才能与mysql连接) 第二步,导入jar包 第三步,建议数据库与表 第四步,建立连接 第一步,新建数据库连接帮助类 第二步,修改activity_main.xml文件 第三步,修改MainActivity.java 第五步 添加网络权限 第六步,数据库删除操作 第一步,修改activity_main.xml文件(添加一个删除按钮) 第二步,修改MainActivity.java 第七步,插入数据 第一步,修改activity_main.xml文件(添加一个添加按钮和输入框) 第二步,修改MainActivity.java 第八步,更新数据 第一步,修改activity_main.xml文件(添加一个更新按钮和输入框) 第二步,修改MainActivity.java 安装Mysql的驱动(Android需要mysql的驱动才能与mysql连接) Android Studio 版本 3.2 mysql驱动版本 5.0.7 (本人mysql 5.7.26 )这两个版本最好都是5.xx,不然会出现连接不了的错误(版本要一致) 关于版本不一致会出现的错误可见:

Android数据库GreenDao的使用总结

落花浮王杯 提交于 2019-11-27 16:44:02
一、GreenDao的介绍 GreenDAO是一个开源的Android ORM(“对象/关系映射”),通过ORM(称为“对象/关系映射”),节省了我们在数据库开发过程的时间! 通过GreenDao,我们可以更快速的操作数据库,我们可以使用简单的面相对象的API来存储,更新,删除和查询Java对象。 GreenDao的优缺点? 1. 高性能 2. 易于使用的强大API,涵盖关系和连接 3. 最小的内存消耗 4. 库大小(<100KB)以保持较低的构建时间并避免65k方法限制 5. 数据库加密:greenDAO支持SQLCipher,以确保用户的数据安全; GreenDao的核心类 GreenDao的核心类有三个:分别是DaoMaster, DaoSession, XXXDao,这三个类都会自动创建,无需自己编写创建! DaoMaster::DaoMaster保存数据库对象并管理特定模式的DAO类。它有静态方法来创建表或删除它们。它的内部类OpenHelper和DevOpenHelper是SQLiteOpenHelper实现,它们在SQLite数据库中创建模式。 DaoSession:管理特定模式的所有可用DAO对象,您可以使用其中一个getter方法获取该对象。DaoSession还提供了一些通用的持久性方法,如实体的插入,加载,更新,刷新和删除。 XXXDao:数据访问对象(DAO

android开发建立mysql数据库

喜夏-厌秋 提交于 2019-11-27 12:13:50
工具 mysql mysql-connector-java-5.1.36(jdbc引擎) android studio 工具连接 link mysql推荐5.7版,这样mysql-connector-java、android sdk三者之间兼容性好。 mysql 打开安装包一直next root 的 from host 改为% android 导入mysql-connector-java-5.1.36包 导入工具类(仅实现连接、读取数据) package com . yang . mysql . mysql ; import android . util . Log ; import java . sql . Connection ; import java . sql . DriverManager ; import java . sql . PreparedStatement ; import java . sql . ResultSet ; import java . sql . SQLException ; public class MySQLService { private String url = "jdbc:mysql://192.168.43.136:3306/数据库名?useSSL=false&serverTimezone=UTC" ; // private

Android Room使用详解

孤街浪徒 提交于 2019-11-27 01:18:43
使用Room将数据保存在本地数据库 Room提供了SQLite之上的一层抽象, 既允许流畅地访问数据库, 也充分利用了SQLite. 处理大量结构化数据的应用, 能从在本地持久化数据中极大受益. 最常见的用例是缓存有关联的数据碎片. 以这种方式, 在设备不能访问网络的时候, 用户依然能够浏览离线内容. 任何用户发起的改变, 都应该在设备重新在线之后同步到服务器. 因为Room为你充分消除了这些顾虑, 使用Room而非SQLite是高度推荐的. 添加依赖 Room的依赖添加方式如下: 1 dependencies { 2 def room_version = "1.1.1" 3 4 implementation "android.arch.persistence.room:runtime:$room_version" 5 annotationProcessor "android.arch.persistence.room:compiler:$room_version" 6 7 // optional - RxJava support for Room 8 implementation "android.arch.persistence.room:rxjava2:$room_version" 9 10 // optional - Guava support for Room,