Windows 10上的领域数据浏览器

时间:2015-09-03 05:24:16

标签: realm

我设法使用这些代码获取export.realm

package com.meow.meowmeow;
import android.content.Context;
import android.content.Intent;
import android.content.res.AssetManager;
import android.net.Uri;
import android.util.Log;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import io.realm.Realm;
import io.realm.RealmConfiguration;

/**
 * Created by Thien on 9/1/2015.
 */
public class RealmTool {
    private static String LOG_TAG = "RealmTool";

    //export to email
    public static void exportDatabase(Context context,RealmConfiguration configuration) {

        // init realm
        Realm realm = Realm.getInstance(configuration);

        File exportRealmFile = null;
        try {
            // get or create an "export.realm" file
            exportRealmFile = new File(context.getExternalCacheDir(), "export.realm");

            // if "export.realm" already exists, delete
            exportRealmFile.delete();

            // copy current realm to "export.realm"
            realm.writeCopyTo(exportRealmFile);


        } catch (IOException e) {
            e.printStackTrace();
        }
        realm.close();

        // init email intent and add export.realm as attachment
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("plain/text");
        intent.putExtra(Intent.EXTRA_EMAIL, "YOUR MAIL");
        intent.putExtra(Intent.EXTRA_SUBJECT, "YOUR SUBJECT");
        intent.putExtra(Intent.EXTRA_TEXT, "YOUR TEXT");
        Uri u = Uri.fromFile(exportRealmFile);
        intent.putExtra(Intent.EXTRA_STREAM, u);

        // start email intent
        context.startActivity(Intent.createChooser(intent, "YOUR CHOOSER TITLE"));
    }

    //import from assets
    public static RealmConfiguration importDatabase(Context context, String realm_file_name){
        RealmConfiguration defaultRealm = new RealmConfiguration.Builder(context).build();
        String dir = defaultRealm.getPath();
        AssetManager assetManager = context.getAssets();
        try {
            InputStream is;
            is = assetManager.open(realm_file_name);
            File dest = new File(dir);
            if (dest.exists())
                dest.delete();
            copy(is,dest);
        }catch (IOException e){
            Log.e(LOG_TAG,"import database error");
        }
        return defaultRealm;
    }

    public static void copy(File src, File dst) throws IOException {
        InputStream in = new FileInputStream(src);
        OutputStream out = new FileOutputStream(dst);

        // Transfer bytes from in to out
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }
    public static void copy(InputStream in, File dst) throws IOException {

        OutputStream out = new FileOutputStream(dst);

        // Transfer bytes from in to out
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }

}

现在我想查看一下。 如何在Windows中编辑它。 开发人员表示他们在Mac上只有领域浏览器 但我正在使用Windows 10。 所以任何人都有任何方法或任何工具来浏览Windows上的领域。 谢谢。

4 个答案:

答案 0 :(得分:17)

(免责声明:我是负责Realm Browser for Mac的人。:))

我们听到你了!不幸的是,目前,甚至考虑使用Realm Browser for Windows版本,我们需要让Realm本身在Windows上运行才能开始!这是我们绝对努力的事情,但显然这不是一件小事;所以我们还没有获得任何发布时间表。

目前,如果您想从Android应用程序调试Realm文件,实际上是一个非常酷的开源第三方Android Realm浏览器应用程序,您可以使用它:{{3} }

对不起,我无法提供更好的消息,但至少,我希望在此期间有所帮助。但是我们100%意识到在Windows上拥有相同版本的Realm Browser会极大地帮助在该平台上进行Android开发。

答案 1 :(得分:3)

另一个解决方案是,有第三方的Stetho Realm插件https://github.com/uPhyca/stetho-realm,Stetho是由Facebook开发的Android调试桥。它还可以让您在设备上查看Realm的数据。

答案 2 :(得分:3)

我刚刚以Android Studio插件的形式编写了一个简单的Realm Browser(Rebro)。不确定需求有多大,更像是挑战。但无论如何,你走了:https://github.com/Ghedeon/Rebro

答案 3 :(得分:1)

在检查了所有旧的答案后,我想把我最新的研究放在这个帖子上。

根据以下链接,他们还没有适合Windows的任何内容。如果你使用的话,你很幸运。

https://realm.io/docs/java/latest/

但是他们已经提到过facebook的实用程序构建来浏览和编辑领域数据。

http://facebook.github.io/stetho/

PS:那些不知道如何从Chrome浏览器调试应用程序的人,你可以通过点击chrome右上角的三个垂直点来检查设备选项。     访问更多工具 - >>开发者工具 - >>再次点击三个垂直点 - >>更多选项 - >>>检查设备。之后,您会看到与上述链接中的功能相同的用户界面。