suger数据库使用1
sugar orm 是专门针对android orm 的一套框架,简单好用,但是坑可是很多的,昨天在坑里面爬了一天,错误是no such table 。没有这个表,应该是我们配置orm 的时候出现了问题,但是国内比较少关于这方面的东西,一直查不出来问题,在哪。在github 上找错误,看英文终于找到了,希望下一次不要出现这样的错误。
配置如下:
1 .在.gradle中添加配置:
compile 'com.github.satyan:sugar:1.5'
- 1
2.AndroidManifest.xml中进行这样的配置
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.hjh.Activity"><application
android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:name=".App"><!--1.创建的数据库db的文件名,将在/data/data/{你的应用包名}/databases下创建对应的文件--><!--2.数据库版本号--><!--3.是否允许SugarORM记录log--><!--4.创建数据库表对应的Bean所在的包的路径--><!--对于第四点需要强调一些,SugarORM是通过一个Bean文件来创建一个表的--><meta-data android:name="DATABASE" android:value="family.db"/><meta-data android:name="VERSION" android:value="1"/><meta-data android:name="QUERY_LOG" android:value="true"/><meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.hjh.po"/></application></manifest>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
注意这几个地方:
1.application 这个标签中要加一个android:name=“.App” 这个属性之后会讲到。
2.在application中添加在上面所说的meta-data 标签
3.替换android固有的application 换上sugar的app
public class App extends SugarApp{@Overridepublic void onCreate() {super.onCreate();SugarContext.init(this);}@Overridepublic void onTerminate() {SugarContext.terminate();super.onTerminate();}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
这个类名就是刚才我们在第二步配置的东西和这个对应上,如何这个就是说我们在处理sugar的东西的使用就不用在进行初始化sugar了。
4.重点!!!
我想大家都应该会这么去配置的,但是还是会出错的话,那就真的有问题了,看了github的issues 终于找到了根源所在:
defaultConfig {applicationId "com.hjh.Activity"minSdkVersion 15targetSdkVersion 21versionCode 1versionName "1.0"}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
所在的版本号不能太高了,不然就不好使了,应该是android升级了,sugar没有找到相对的东西,才会导致这样的bug,希望能够早点修复这个问题吧。
suger数据库使用1相关推荐
- Spring Boot参考指南
Spring Boot参考指南 作者 菲利普·韦伯,戴夫 Syer,约什 长,斯特凡 尼科尔,罗布 绞车,安迪·威尔金森,马塞尔 Overdijk,基督教 杜普伊斯,塞巴斯蒂安·德勒兹,迈克尔·西蒙斯 ...
- sql 2008 清空数据库日志
USE 数据库名 select * from sys.database_files--查看日志名称 USE [master] ALTER DATABASE 数据库名 SET RECOVERY SIM ...
- mysql 快捷查询数据库各表占用空间,mysql查看索引占用空间,mysql查看数据占用空间
先贴一张图! 第一步,"很重要" 在mysql中,有一个创建之初自带的库information_schema,这个库中包含着数据库相关信息,查询数据占用空间就是使用该库,所以首先进 ...
- 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...
- 创建数据库,指定数据库的字符集和编码顺序
创建数据库,指定它的字符集和编码顺序 create database {数据库名称} CHARACTER SET {字符集} COLLATE {排序规则} 举例: create database co ...
- MybatisPlus忽略实体类中的非数据库字段、JPA忽略实体类中的非数据库字段、HeHibernate忽略实体类中的非数据库字段
mybatis plus忽略映射字段时可以在实体类属性上使用以下注解: @TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的. @TableField(e ...
- IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...
使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...
- Mysql函数group_concat、find_in_set 多值分隔字符字段进行数据库字段值翻译
Mysql函数group_concat.find_in_set进行数据库字段值翻译 场景 配方表:记录包含的原料 sources表示原料,字段值之间用逗号分隔 原料表:对应原料id和原料名称 现需要查 ...
- java 捕获异常并存入数据库_java异常处理,报异常的话怎么处理对象值,并持久化到数据库中...
展开全部 //没看到有人回e68a843231313335323631343130323136353331333365646233答你,我还没学到框架,不知道那个是不是可以很便捷操作你说的这样过程 / ...
- linux修改mysql密码sa_如何修改SA口令,数据库SA密码怎么改?
[问题现象]安装数据库的时候设置过SA口令,安装后不记得了?有没有办法可以修改数据库SA口令? [原因分析]各版本数据库更改SA口令的方法不一样,一般MSDE2000数据库安装时没有SA口令,SQL ...
最新文章
- Java面试题汇总及答案2021最新(序列化含答案)
- rabbitmq实战指南_RabbitMQ之脑裂
- C#4.0和VS2010新特性(三)
- NEFU 560 半数集
- 转:Redis 集群搭建详细指南
- python保存代码_python入门(5)使用文件编辑器编写代码并保存执行
- 机器人蛮王_盖伦:吊打我老婆,蛮王:我也是,他:被老婆打的不敢出塔
- 【报告分享】管理者实效管理工具包:用最佳策略和资源留住您最优秀的人才.pdf...
- 基于开源飞控系统和安卓系统的4g5g物联网无人机实现
- 台式计算机怎样时间同步,电脑时间同步,详细教您怎么让电脑时间和网络时间同步...
- cadence virtuoso画版图提示LUP.6错误
- Android P cdd(Android 兼容性定义文档)
- CH 6202 黑暗城堡
- 为什么正则化能减少模型过拟合程度
- 【游戏王arc-v卡片力量SP改名字ID教程】
- node文件系统 常用文件处理方法
- GAL GAME 汉化教程攻略从零开始 1
- 那一个国家买东西要用计算机,计算机技能学材习料.doc
- IPv6基本配置(华为设备)
- 计算机桌面图片唐诗,唐诗高清壁纸