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

GreenDao教程1

最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个框架还是不错的。直接面向对象的,可以通过对对象的操作,实现数据的存储。...: 1.性能高,号称Android最快的关系型数据库 2.内存占用小 3.库文件比较小,小于100K,编译时间低,而且可以避免65K方法限制 4.支持数据库加密 greendao支持SQLCipher进行数据库加密...有关SQLCipher可以参考这篇博客Android数据存储之Sqlite采用SQLCipher数据库加密实战 5.简洁易用的API 第一步:项目需要的工程库进行引用 ?...,默认是使用字段名,例如:@Property(nameInDb = “name”) @NotNull:设置数据库表当前列不能为空 @Transient:添加此标记不会生成数据库表的列 索引注解 @Index...下次会为大家介绍通过使用greenDao来实现数据库的增删改查等操作。

81141

GreenDao 3.0解析

它的实现思想就是关系数据库中表的数据映射为对象,以对象的形式展现,这样开发人员就可以把数据库的操作转化为对这些对象的操作。...因此它的目的就是为了方便开发人员用面向对象的思想来实现数据库的操作。...大家应该对ORM框架有了初步的了解,下面我们就来使用GreenDao,我们就通过GreenDao的官网,http://greenrobot.org/greendao/ ,来学习如何对它进行使用。...图中我们可以知道GreenDao已经升级到了3.0版本,相比之前的旧版本,3.0版本采用注解的方式通过编译方式生成Java数据对象和DAO对象。...gradle插件生成的数据库相关文件的包名,默认为你的entity所在的包名 targetGenDir:这就是我们上面说到的自定义生成数据库文件的目录了,可以生成的文件放到我们的java目录中,而不是

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

Android Studio 安装配置教程 - MacOS(详细版)

这个版本相对来说比较稳定,但不是最新版的 二、谷歌中国下载 Android Studio下载地址-谷歌中国,最新版本目前是4.0.1,这个版本新增了很多牛逼的功能,但是手上有工作项目的不要去轻易尝试,BUG...这个版本是目前最新的,但是开发的角度来说,不建议马上更新到最新,因为吃螃蟹没有那么容易。 这里推荐你下载Android Studio3.5.2的版本,这个版本我个人觉得比较稳定。 下载 ?...在快要下载完成的时候,Mac会弹出一个提示框,这个就是你的账户的密码,我的就是电脑锁屏密码,输入,点击 “好” ? 然后再一次进入等待 ? 点击Finish ?...然后会下载配置的Gradle,Android Studio3.5.2对应的就是gradle-5.4.1-all.zip ,所以要下载一个,,如果你安装的是4.0.1的版本,默认下载的gradle就是gradle...出现这个问题,就是你电脑连接的网络无法访问这个地址,所以下载失败,这种情况就是更换不同的网络来进行下载,我公司的网络是电信的,访问不了, 你可以直接在浏览器的地址栏输入 https://services.gradle.org

3.4K40

Android数据库安全解决方案,使用SQLCipher进行加解密

} } cursor.close(); } }); } } 可以看到,在onCreate()方法中首先调用了SQLiteDatabase的loadLibs()静态方法SQLCipher...没错,SQLCipher对Android SDK中所有与数据库相关的API都制作了一份镜像,使得开发者可以像操作普遍的数据库文件一样来操作SQLCipher,而所有的数据加解密操作,SQLCipher都在背后帮我们处理好了...话说写到这里,我们都一直还没体验一下SQLCipher加密的效果呢,现在就来看一看吧,首先通过命令行的方式来访问demo.db这个数据库文件: adb shell cd /data/data/com.example.sqlciphertest...图中可以看出,当执行.table命令的时候被拒绝了,原因是数据库文件已加密。 除了使用命令行的方式,我们还可以尝试使用Root Explorer来打开数据库文件,结果如下图所示: ?...需要提醒的一点是,项目中引入了SQLCipher之后,会让你的程序体积骤然增加,打成APK大概会变大好几M,是更侧重于文件大小,还是更侧重于程序安全,你应该根据具体的需求做出合适的判断。

2K90

centos6下redis cluster集群部署过程

有了Cluster功能,Redis从一个单纯的NoSQL内存数据库变成了分布式NoSQL数据库,CAP模型也CP变成了AP。...2)Redis Cluster主从模式 redis cluster 为了保证数据的高可用性,加入了主从模式,一个主节点对应一个或多个节点,主节点提供数据存取,节点则是主节点拉取数据 备份,当这个主节点挂掉...上面那个例子里, 集群有A、B、C三个主节点, 如果这3个节点都没有加入节点,如果B挂掉了,我们就无法访问整个集群了。A和C的slot也无法访问。...【当集群最开始创建好,要记住各节点的主从关系(或是创建的时候指定主从关系);若是其中一台机器重启,重启,需重新将其加入到redis cluster集群中;这就需要将这台机器上的各节点之前的节点变为主节点...默认yum安装的ruby版本是1.8.7,版本太低,需要升级到ruby2.2以上,否则执行上面安装会报错!

1.7K100

SQLCipher之攻与防

0×00 SQLCipher 在移动端,不管是iOS还是Android,开发人员用的最多的本地数据库非SQlite莫属了。...SQLCipher采用的是数据库文件整体加密的策略,使用256-bit AES加密,算法角度来看是相当强悍了。于是,加密的文件看起来及时这样了: ? 完全是天书嘛,ok,可以洗洗睡了。...拿到密码后有个偷懒的方法可以直接打开加密数据库:使用SQLiteManager,它支持SQLCipher加密的数据库,会提示输入数据库密码,不需要自己写程序了,而且浏览数据也很方便。 ?...到这儿程序员可能要想了,我不硬编码看你咋整,我在代码中经过加减乘除、异或在算出key,或者更狠一点用用户口令等进行动态解密变换,密钥就不会在程序中出现了。...key和算法、数据的分离 其它情况推荐数据放在APP的服务端,客户端做瘦,安全的防护重点放在通信和服务端的防护上。

7.2K60

宝塔面板如何切换数据库版本?

最近我想将网站的数据库版本升级,发现宝塔面板可以切换数据库版本。我尝试切换MySQL版本,但是发现并不像PHP版本切换那么简单。...宝塔控制面板提示需要将现有数据库删除清空才能切换,也就是删除现有数据库而重新安装新版本数据库。因此,我按照以下步骤进行操作: 操作步骤 打开宝塔控制面板,关闭站点里面的所有网站。...记录各个数据库的账号和密码,备份网站数据到本地。 删除数据库。 在宝塔控制面板的软件商店中,找到MySQL,进入设置切换版本,数据库版本MySQL5.5切换到MySQL5.6或5.7。...然而,经过尝试发现,虽然删除了数据重新安装之后,升级的MySQL并不能正常运行,会出现新建数据库失败以及宝塔phpmyadmin无法访问等问题。...此外,我们建议您先检查您的程序是否支持升级到更高版本的数据库。如果支持,请确认再进行数据库更换操作。这样可以确保您的网站能够正常运行,并且避免不必要的问题和损失。

1.6K30

GreenDAO快速入门

前言 之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的差异。...---- GreenDAO: 介绍:对象关系映射的数据库(ORM) ?...GreenDAO 官网地址 优点 性能高,号称Android最快的关系型数据库 内存占用小 库文件小,编译时间短 支持数据库加密 API简介易用 说了他的优点,那么我们来看下如何使用。...private String name; private int age; private String sex; } 创建完成需要Rebuild Project,之后User会变成:...updateDatabase(int version) { mOpenHelper.onUpgrade(getWritableDatabase(), 1, version); } } 需要注意的是在升级数据库的时候回原来的数据删除

88230

拆轮子系列之理解GreenDao框架源码

,它在更新数据表的时候会把以前的数据表删除再重新创建,所以这个你必须注意,当我们在利用GreenDAO更新数据表的时候,如果你想以前表中的数据保存下来的话,我们必须自己封装一个方法。...DaoSession对象是连接GreenDao框架到SQLite数据库的纽带,通过该对象我们可以得到一个与数据库某个表相关的操作对象xxxDao。...>的集合中,下次如果再次查询小明这个学生的时候,立即会返回这个引用从而不必再查询数据库(前提是GC还没回收这些引用)。...可以这么说,我们之所以使用GreenDao管理本地数据库无需与SQL语句打交道,就是因为GreenDao框架在这一层已经对大部分数据库操作SQL语句进行了封装。...通过DaoSession对象获得最终能够操作数据库表的xxxxDao对象” GreenDao优势 模板代码生成 GreenDao官方为什么说自己的数据库框架运行快呢,首先,第一点这个框架不像其他框架通过运行期反射创建

1.1K40

微信 WCDB 进化之路:开源与开始

SQLCipher 加密 SQLCipher 使用 AES-256 进行全数据库加密,包括文件头以及 Journal/WAL,这能满足微信的需要。...为了这个目标,Android 也开始自立门户,第一个目标是 SQLCipher 和最新 Android 框架结合起来。...我们 SQLCipher 与 Android 源码结合在一起稍作改动,同时加上设置加密的接口,同时获得了 Android SQLite 最新特性以及 SQLCipher 带来的固定 SQLite 版本与加密的优势...微信对 DB 操作最多的场景是获取 Cursor 直接遍历获取数据关闭,获取到的数据,一般是生成对应的实体对象(通过 ORM 或者自行 Cursor 转换)后放到 List 或 Map 等容器里返回...至此,Android 和 iOS 的数据库有了跨平台组件的想法和实践经验,思考问题更多方案通用性的方向考量。

5.3K51

微信 WCDB 进化之路 - 开源与开始

试想这么一段代码: 这段封装很简单,就是消息内容插入到数据库中。...为了这个目标,Android 也开始自立门户,第一个目标是 SQLCipher 和最新 Android 框架结合起来。...我们 SQLCipher 与 Android 源码结合在一起稍作改动,同时加上设置加密的接口,同时获得了 Android SQLite 最新特性以及 SQLCipher 带来的固定 SQLite 版本与加密的优势...微信对 DB 操作最多的场景是获取 Cursor 直接遍历获取数据关闭,获取到的数据,一般是生成对应的实体对象(通过 ORM 或者自行 Cursor 转换)后放到 List 或 Map 等容器里返回...至此,Android 和 iOS 的数据库有了跨平台组件的想法和实践经验,思考问题更多方案通用性的方向考量。

1.4K40

用 Python 分析微信群聊记录,是怎样一种体验?

实现步骤 第 1 步,导出微信聊天记录数据库 首先,我们使用一部 Root 的手机或者模拟器登录微信,找到微信聊天记录数据库,然后导出到本地。...,如果当前设备没有 Root,可以选择群聊消息进行一次迁移,然后 Root 设备或模拟器中导出数据库。...第 3 步,破解数据库 由于微信数据库是使用 SQLCipher 生成,所以要先安装 sqlcipher 命令行文件 # 安装sqlcipher命令行(Mac) brew install sqlcipher...# Win可以去下载sqlcipher命令行文件 然后,输入数据库的密码及解密方式等,导出破解数据库。...我已经全部源码上传到后台,关注公众号回复「 微信群聊 」即可获得全部源码。 如果你觉得文章还不错,请大家点赞分享下。你的肯定是我最大的鼓励和支持。 留言送书

2.9K51

开源数据库框架greenDAO

由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁的读写、查询等操作。因此首先想到了对整个项目的数据库框架进行优化。...但是在使用过程中感觉很繁琐,建表到对表的增删改查等操作,如果表对象的属性很多,就需要使用大量的代码来执行建表、插入等。...因此决定采用greenDAO框架,对项目的orm框架进行改进。 greenDAO与ORMLite性能对比 经过两天的修改,终于项目里的数据库相关的都优化完了。...或者官网) greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储、更新.../issues/34 由上可见,使用greenDAO进行数据库的增删改查时及其方便,而且性能极佳。

2.2K50

数据存储之-SQLite数据库

图片为例子,图片保存到SQLite中,以及读取SQLite中的图片!...需要的自己捣鼓捣鼓就好了,另外,现在我们一般很少自己写数据库的东西 ,一般是通过第三方的框架:ormlite,greenDao等,在进阶部分,我们会再来学习~ ?...4.数据库升级的一些集锦 1)什么是数据库版本升级?怎么升级法?...④比如是这种,假如我们已经升级到第三个版本了,我们在第二个版本增加了一个表, 然后第三个版本也增加了一个表,加入用户直接第一个版本升级到第三个版本,这样 没经过第二个版本,就没有增加的那个表,这可怎么破...答:下面说下思路: 1.旧表改名成临时表: ALTER TABLE User RENAME TO _temp_User; 2.创建新表: CREATE TABLE User (u_id INTEGER

58630

混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...

今天在把以前写的代码生成工具原来的.NET3.5升级到.NET4.0,同时准备进一步完善,程序集都更新,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版的运行时生成的...,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集 其调用的方法是sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内...,后来仔细看了一下方法体的时候发现了一个问题,就是现有的System.Data.Sqlite这个数据访问provider是针对.NET2.0环境开发(最新的版本是1.0.66.0,2010年4月18日发布的...既然出现这个问题,那肯定是上GOOGLE搜索解决方案,毕竟微软不可能因为升级到了.NET4.0的程序无法访问.NET2.0的程序集吧。...配置节中的useLegacyV2RuntimeActivationPolicy属性是在.NET4.0中新增的,默认是false,表示: 使用默认的 .NET Framework 4 激活策略,该激活策略加载

2.1K100

如何开发以太坊钱包 - 导入账号及账号管理

导入账号预备知识 用户需求上来讲,导入用户已经存在的账号是有必要的。...Long id; public String address; private String name; private String password; // 经过加密的...greenDAO greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案,以下是一个greenDAO的作用示意图: ?...这里我们也使用了 greenDAO 来把ETHWallet对象映射到 SQLite 数据库greenDAO的用法这里只简单说明,不详细阐述,大家可以跟随官方提供的introduction[7] 和...对象映射保存 把ETHWallet映射的到数据库,需要给类加上@Entity注解,这样greenDAO会生成几个类:DaoMaster、DaoSession及 ETHWalletDao 帮我们完成构建数据库表等操作

2.5K30

微信移动端数据库组件WCDB系列(二) — 数据库修复三板斧

Android 端微信客户端使用的是加密 SQLCipher DB,加密会改变信息 的排布,往往对密文一个字节的改动就能使解密一大片数据变得面目全非。...dump命令的作用是 整个数据库的内容输出为很多 SQL 语句,只要对空 DB 执行这些语句就能得到一个一样的 DB。...dump 出来的SQL语句逐行执行,最终可以得到一个等效的新DB。由于直接跑在SQLite上层,所以天然 就支持加密SQLCipher,不需要额外处理。...SQLCipher加密数据库,对应的恢复逻辑还需要加上 解密逻辑。...按照SQLCipher的实现,加密DB 是按page 进行包括头部的完整加密,所用的密钥是根据用户输入的原始密码和 创建DB 时随机生成的 salt 运算得出的。

1.3K40
领券