私はそれらのコードを使用して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でレルムをブラウザ化する方法やツールは誰にでもあります。ありがとうございました。
(免責事項:私はMac用のレルムブラウザを担当しています。:))
聞こえます!残念ながら、現時点では、Windows用のRealm Browserのバージョンを検討するためにも、まずRealm自体をWindowsで実行する必要があります。これは私たちが絶対に取り組んでいることですが、明らかにそれは少量の作業ではありません。そのため、リリースのタイムラインはまだありません。
とりあえず、Androidアプリからレルムファイルをデバッグしたい場合は、実際には本当にクールなオープンソースのサードパーティがありますAndroidレルムブラウザアプリ代わりに使用できる可能性があるもの: https://github.com/dmytrodanylyk/realm-browser
申し訳ありませんが、これ以上のニュースをお届けすることはできませんでしたが、少なくとも当面はそれがお役に立てば幸いです。ただし、Windowsで同等のバージョンのRealm Browserを使用すると、そのプラットフォームでのAndroid開発に大いに役立つことを100%認識しています。
ささいなレルムブラウザ(Rebro)をAndroid Studioプラグインの形式で作成しました。需要の大きさはわかりませんが、それは挑戦のようなものでした。しかし、とにかく、ここに行きます:- https://github.com/Ghedeon/Rebro
別の解決策として、サードパーティのStetho Realmプラグインがあります https://github.com/uPhyca/stetho-realm 、StethoはAndroid Facebookによって開発されたデバッグブリッジです。また、デバイスでレルムのデータを表示できるようにします。
すべての古い答えを確認した後、私はこのスレッドに私の最新の研究を置くことを考えました。
以下のリンクによると、彼らはまだウィンドウ用に何も配置していません。 Macを使用している場合は幸運です。
https://realm.io/docs/Java/latest/
しかし、彼らは、レルムデータを閲覧および編集するためのFacebookによるユーティリティビルドについて言及しています。
http://facebook.github.io/stetho/
PS:chromeブラウザからアプリケーションをデバッグする方法を知らない人は、chromeの右上にある3つの縦のドットをクリックしてデバイスオプションを調べることができます。その他のツールにアクセスしてください- ->>開発者ツール->>もう一度3つの縦のドットをクリックします->>その他のオプション->>>デバイスを検査します。その後、上記のリンクの機能と同じUIが表示されます。