gpt4 book ai didi

java - 使用 RealM 时出现 NullpointerException

转载 作者:行者123 更新时间:2023-11-29 08:44:46 25 4
gpt4 key购买 nike

我正在使用 RealM 库将我的值存储在数据库中。问题是,由于 RealM 不支持 AutoIncrement,我正在尝试自己实现它。

这是我的模态类:

public class User extends RealmObject{

@PrimaryKey
private int id;
private String name;
private int rollno;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getRollno() {
return rollno;
}

public void setRollno(int rollno) {
this.rollno = rollno;
}


public int getid() {
return id;
}

public void setid(int id) {
this.id = id;
}

}

我的主类有一个名为 insertValues 的函数,我在其中将数据插入数据库。

 public void insertValues(Realm realm,String name,int rollNo)
{

realm.beginTransaction();

int nextId = (int)(realm.where(User.class).maximumInt("id") + 1); // this line gives me nullpointer error. Please help

User user = realm.createObject(User.class);
user.setName(name);
user.setRollno(rollNo);
realm.commitTransaction();
}

我的日志:

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at io.realm.RealmQuery.maximumInt(RealmQuery.java:1421)
at realmsample.bd.com.realmsample.MainActivity.insertValues(MainActivity.java:105)
at realmsample.bd.com.realmsample.MainActivity$1.onClick(MainActivity.java:53)
at android.view.View.performClick(View.java:4240)
at android.view.View$PerformClick.run(View.java:17721)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

最佳答案

参见 here ,跟你的问题差不多所以按照建议,

If max related function is called on an empty results query or query's results are all null values, maximumInt will throw an exception.

所以使用RealmQuery.max()相反。

关于java - 使用 RealM 时出现 NullpointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37139979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com