我正在尝试使用Realm + GSON.如果他们能够很好地合作,那将是一场天国的比赛.
但是,当我使用"extends RealmObject"扩展我的模型对象时,我得到了这个:
10-08 17:00:19.578 12492-12492/appwise.be.gsontestproject E/AndroidRuntime? FATAL EXCEPTION: main
Process: appwise.be.gsontestproject, PID: 12492
java.lang.StackOverflowError
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:372)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:376)
at com.google.gson.internal.$Gson$Types.resolve($Gson$Types.java:381)
at …Run Code Online (Sandbox Code Playgroud) 我正在使用Realm for Android来存储一些数据.当用户按下注销按钮时,我想清除整个Realm数据库.为此,我有以下代码片段:
realm.close();
realm.deleteRealmFile(this);
goToLoginActivity();
Run Code Online (Sandbox Code Playgroud)
现在问题出在我的onResume函数中.我收到以下异常:
引起:java.lang.IllegalStateException:此Realm实例已被关闭,使其无法使用.
我的onResume代码如下:
@Override
protected void onResume() {
super.onResume();
// I'm trying to check if the realm is closed; this does not work
if (realm == null) {
realm = Realm.getInstance(this);
}
// Do query using realm
}
Run Code Online (Sandbox Code Playgroud)
如何查看领域对象是否已经关闭?或者,是否有更好的方法来清除数据库而不是删除领域文件?
-
编辑:刚刚看到如何轻松删除Realm for iOS中的所有对象.关于何时deleteAllObjects API可用于Android的任何消息?在撰写本文时,Android的版本为0.80.0,API在iOS中以0.87.0的形式提供.
我正在使用swift开发iOS应用程序,并选择Realm作为它的数据库解决方案.我使用realm docs中的write/add函数在AppDelegate中编写了默认数据,它工作得很好.所以在第一次启动后,我有一个带有初始数据的*.realm文件.在Realm文档中,我找到了一个名为"使用应用程序捆绑领域"的部分,我将*.realm文件添加到项目中并在编写时构建阶段.
我无法理解接下来应该做什么(以及压缩*.realm文件的部分内容).我试图理解迁移示例中的代码,但我不太了解Obj-C.
请尽可能明确地将带有初始数据的*.realm文件添加到swift ios项目中,并在首次启动时将此数据加载到Realm数据库中.
我一直在尝试在我的Xamarin android proyect中使用Realm,其中一个依赖是Fody,每次我尝试运行我的应用程序时都会显示以下错误:错误MSB4044:"Fody.WeavingTask"任务没有给出一个值必需参数"SolutionDir".
我一直在寻找修复,但找不到它,你知道如何赋予它一个价值吗?它在哪里?
对于领域块包我已经创建了FodyWeavers.xml
由于我们在领域中没有任何列表数据类型,我们如何ArrayList<String>在领域对象中使用?
我对我们制作的自定义模型的数组列表有同样的问题,ArrayList<CustomModel>但为此我明白我们首先必须使用相同的自定义模型的RealmObject
public class CustomObject extends RealmObject {
private String name;
private String age;
}
Run Code Online (Sandbox Code Playgroud)
然后我可以使用
private RealmList<CustomObject> customObjectList;
Run Code Online (Sandbox Code Playgroud)
在另一个RealmObject中
我必须对字符串的arrayList做同样的事吗?
1.制作String对象
2.在Realm List中使用该对象
我有两个领域:
public class ChatRealm extends RealmObject {
private String id;
private RealmList<UserRealm> users;
}
public class UserRealm extends RealmObject {
private String id;
private String username;
}
Run Code Online (Sandbox Code Playgroud)
我有一个用户ID,我想知道他参与了哪些聊天.我检查了Realm文档,但无法找到如何进行此类查询.
如何使用Realm查询获得我想要的结果?
let config = Realm.Configuration(
// Set the new schema version. This must be greater than the previously used
// version (if you've never set a schema version before, the version is 0).
schemaVersion: 1,
// Set the block which will be called automatically when opening a Realm with
// a schema version lower than the one set above
migrationBlock: { migration, oldSchemaVersion in
// We haven’t migrated anything yet, so oldSchemaVersion == 0
if (oldSchemaVersion < 1) {
// Nothing …Run Code Online (Sandbox Code Playgroud) 什么是最佳实践/模式使领域成为反应原生应用程序中的反应数据源?特别是对于演示和容器组件模式?
这是一个我想要反应的例子:Rem Native的领域
关于自动更新/更改事件的文档有点薄,官方示例没有使用此功能(据我所知).
一旦我尝试从Realm数据库中获取对象,应用程序崩溃了,我收到此错误:
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.repdev.realtimedelijn/com.repdev.realtimedelijn.activity.MainActivity}:
java.lang.IllegalArgumentException: Haltes is not part of the schema for this Realm
Run Code Online (Sandbox Code Playgroud)
这是我的活动它发生了
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
Context context = this;
View view = this.getWindow().getDecorView();
realm = Realm.getInstance(getRealmConfiguration());
RealmResults<Haltes> haltes = realm
.where(Haltes.class)
.findAll();
HaltesRecyclerViewAdapter haltesRecyclerViewAdapter =
new HaltesRecyclerViewAdapter(this, haltes, true, true);
RealmRecyclerView realmRecyclerView =
(RealmRecyclerView) findViewById(R.id.realm_recycler_view);
realmRecyclerView.setAdapter(haltesRecyclerViewAdapter);
}
Run Code Online (Sandbox Code Playgroud)
这是模型
有人知道如何解决它?公共类Haltes实现RealmModel {
@PrimaryKey
private long id;
private String halteNaam;
private String halteNummer;
public long getId() {
return …Run Code Online (Sandbox Code Playgroud) 我试过搜索Realm,但以下问题没有得到解答.请帮助我正确理解以下问题:
领域是关系数据库吗?
与SQLite相比,它的效率如何?