我想知道在Android上使用ORM的真正必要性.什么是" 加号 "认为,使用ORM在Android conding时,可我们得到的?是不是使用本机android方法sufficiant(使用SqlLIte和编写自己的类和自己的SQL查询(我认为需要大量的时间和代码行))?
使用ORM尤其是在移动设备上有什么好处和缺点?
我的项目我的目录如下所示:
-project
-someModule
-mainProjectModule
-src
-main
-java
(all of my code)
Run Code Online (Sandbox Code Playgroud)
我想添加一个src-gen文件夹,所以它看起来像这样:
-project
-someModule
-mainProjectModule
-src
-main
-java
(all of my code)
-src-gen
-main
-java
(all of my generated code)
Run Code Online (Sandbox Code Playgroud)
我生成的代码与非生成代码位于同一个包中.如何在Android Studio中将/ src-gen/main/java文件夹变为蓝色,我需要在gradle中放置什么才能使其正确构建?我目前在我的gradle中有这个,它似乎不起作用:
sourceSets {
main {
java.srcDirs = ['src/main/java', 'src-gen/main/java']
}
}
Run Code Online (Sandbox Code Playgroud)
我还尝试手动编辑mainProjectModule.iml文件,将/ src-gen/main/java文件夹添加为源,它将变为蓝色,但几秒后它会自动更改回来.
我想使用GreenDao构建以下查询.
select * from luckydrawclick e where e.user = ? and (e.id = ? or e.id = ? or e.id = ? or e.id = ? or e.id = ?);
Run Code Online (Sandbox Code Playgroud)
以下是我到目前为止的情况.
List<LuckyDrawClick> luckyDrawClicks = luckyDrawClickDao.queryBuilder().where(Properties.User.eq(currentUser)).and(**********).list();
Run Code Online (Sandbox Code Playgroud)
我需要放在哪里**********?
我有一个活动将解析json数据并在活动开始后使用greenDAO更新数据库.它的更新代码如下:
exampleDao.insertOrReplace(exampleObj);
Run Code Online (Sandbox Code Playgroud)
但是当活动返回并恢复时,它将继续插入导致重复数据输入与不同的主键但相同的数据,如何防止重复数据输入?
非常感谢
如何使用绿色dao查询查询对象,在相关对象中有LIKE sting?
QueryBuilder qb = mainDao.queryBuilder();
qb.where(
mainDao.Properties.Date.between(filter.getFrom().getTime(), filter.getTo().getTime()),
qb.or(mainDao.Properties.Details.like("%"+ string + "%"),
infoDao.Properties.Display_name.like("%" + string + "%"),
infoDao.Properties.Email.like("%" + string + "%"),
infoDao.Properties.Phone.like("%" + string + "%"),
infoDao.Properties.Code.like("%" + string + "%")));
Run Code Online (Sandbox Code Playgroud)
我构建的这种查询不起作用?有关如何管理检查相关字段属性的查询的任何建议吗?
MainDao拥有InfoDao的关键
我想我想做这样的事情:
SELECT *
FROM Main
INNER JOIN Info
ON Main.InfoID=Info.InfoID;
WHERE Info.SomeField LIKE "%string%"
Run Code Online (Sandbox Code Playgroud) 我想知道为什么ORMLite和GreenDAO比传统的SQLite更快?根据我的知识,内部所有人都在与SQLite等数据库交互时做同样的问题,为什么其他人更快?提前致谢 !!
我想将greenDAO用作sqlite DB ORM
但是我的数据库应该位于sdcard的特定文件夹中,例如 /sdcard/myapp/database.sqlite
那么如何使用greenDAO选择要创建的数据库文件夹?
我正在尝试使用greendao生成器生成我的模型,我不太确定如何添加接受a的属性 List<String>
我知道如何添加List<Model>使用addToMany但如果我需要ArrayList在我的模型中存储一个怎么办?
像这样的东西:
Entity tags = schema.addEntity("Tags");
tags.implementsInterface("android.os.Parcelable");
tags.addLongProperty("tagId").primaryKey().autoincrement();
tags.addLongProperty("date");
tags.addArrayStringProperty("array"); // something like this
Run Code Online (Sandbox Code Playgroud)
我在想创造另一个实体存储阵列的所有值,并且做ToMany这样的
Entity myArray = schema.addEntity("MyArray");
myArray.implementsInterface("android.os.Parcelable");
myArray.addLongProperty("myArrayId").primaryKey().autoincrement();
myArray.addLongProperty("id").notNull().getProperty();
Property tagId = myArray.addLongProperty("tagId").getProperty();
ToMany tagToMyArray = tag.addToMany(myArray, tagId);
tagToMyArray.setName("tags");
myArray.addToOne(tag, tagId);
Run Code Online (Sandbox Code Playgroud) 有人可以解释我的方法之间的区别是什么insert,insertOrReplace并save在GreenDao库?
我知道insert只是插入和insertOrReplace插入如果不存在或更新/替换,如果存在.
但令人困惑的是如何insertOrReplace和save不同?
谢谢
我正在使用对象框版本1.1.0.使用ObjectBox文档中给出的说明进行安装,但收到此错误.即使我在Objectbox的FAQ部分搜索了这个问题,他们提供的解决方案是删除android-apt.但是在gradle文件中没有使用android-apt.那么,如何克服这个问题请帮助我.Bellow是我的根级gradle文件
buildscript {
ext {
_buildToolsVersion = '26.0.1'
_compileSdkVersion = 26
objectboxVersion = '1.1.0'
}
repositories {
jcenter()
mavenCentral()
maven { url "http://objectbox.net/beta-repo/" }
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.google.gms:google-services:3.1.0'
classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
}
}allprojects {
repositories {
jcenter()
mavenCentral()
maven {
url 'https://maven.fabric.io/public'
}
maven { url "http://objectbox.net/beta-repo/"
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
app gradle文件如下
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.kingof.android"
minSdkVersion 16
targetSdkVersion 25
versionCode 3
versionName …Run Code Online (Sandbox Code Playgroud)