Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 领域数据库不';不写数据_Java_Android_Realm - Fatal编程技术网

Java 领域数据库不';不写数据

Java 领域数据库不';不写数据,java,android,realm,Java,Android,Realm,我试图使用realm写入db,但它确实写入值。我还补充说 应用插件:“安卓apt” 应用插件:'realmandroid' 我正在异步任务中使用它。在下面 如何正确写入领域数据库 protected Integer doInBackground(Integer[] p1) { Realm.init(acti); RealmConfiguration otherConfig = new RealmConfiguration.Builder().directory(new File(

我试图使用realm写入db,但它确实写入值。我还补充说

应用插件:“安卓apt” 应用插件:'realmandroid'

我正在异步任务中使用它。在下面 如何正确写入领域数据库

protected Integer doInBackground(Integer[] p1)
{
    Realm.init(acti);
    RealmConfiguration otherConfig = new RealmConfiguration.Builder().directory(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/xMapper/"+fileN)).build();
    Realm.setDefaultConfiguration(otherConfig);
    realm = Realm.getDefaultInstance();

    for (File file:foxReaderLost)
    {   
        final byte[] x=utilz.compress(FileUtils.readFileToString(file));
        final String y=file.getName();

        realm.executeTransaction(new Realm.Transaction(){
                @Override
                public void execute(Realm p1)
                {
                    IconModel icm=p1.createObject(IconModel.class);
                    icm.setName(y);
                    icm.setSource(x);
                }
            });
     }
}
我的真实对象

public class IconModel extends RealmObject {
    private byte[] msource;
    private String mname;

    public void setSource(byte[] lastName)
    {
        this.msource = lastName;
    }

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

在您的项目中,如果您还没有扩展
应用程序的类,只需创建一个

类应用程序扩展应用程序{
@凌驾
public void onCreate(){
Realm.init(acti);
realmconfig otherConfig=new RealmConfiguration.Builder().directory(新文件(Environment.getExternalStorageDirectory().getAbsolutePath()+“/xMapper/”+fileN)).build();
Realm.setDefaultConfiguration(otherConfig);
}
}

然后,您只需调用
Realm.getDefaultInstance()
来获取一个Realm对象来查询/插入/更新/删除您的数据库。

我很确定这是因为您在异步任务中使用了init。尝试在
App.java
中初始化,并在异步任务中使用
realm.getDefaultInstance()
简单地获取realm实例如何实现?请在下面告诉我我的答案不要为每个文件创建新的域