2015-09-03 10 views
10

ich verwalten diejenigen CodeRealm Datenbrowser auf 10 Windows-

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(); 
    } 

} 

Jetzt ist es zu überprüfen, möchte ich bekommen export.realm verwenden. Wie man es in Windows bearbeitet. Der Entwickler sagte, sie haben nur Realm-Browser auf dem Mac Aber ich benutze Windows 10. Also jeder hat keine Möglichkeiten oder ein Werkzeug zu Browser Realm unter Windows. Danke.

Antwort

17

(Haftungsausschluss:. Ich bin der Mann verantwortlich für Realm-Browser für Mac :))

Wir Sie hören! Im Moment müssen wir, um eine Version von Realm Browser für Windows in Betracht zu ziehen, Realm selbst unter Windows ausführen! Es ist etwas, woran wir absolut arbeiten, aber offensichtlich ist es nicht eine kleine Menge Arbeit; Wir haben also noch keine Veröffentlichungszeiten.

einstweilen, wenn Sie eine Realm-Datei aus einer Android App debuggen mögen, gibt es eine wirklich richtig cool Open-Source-Dritte Android Realm Browser-Anwendung, die Sie möglicherweise stattdessen verwenden könnten: Ich https://github.com/dmytrodanylyk/realm-browser

Entschuldigung Ich könnte keine besseren Nachrichten bringen, aber zumindest hoffe ich, dass das in der Zwischenzeit hilft. Aber wir sind uns 100% bewusst, dass eine entsprechende Version von Realm Browser unter Windows der Android-Entwicklung auf dieser Plattform sehr helfen würde.

+0

danke für die Antwort. Ich werde es mir ansehen. –

+1

Der Autor dieser App erklärte am 12. September 2015, dass die Bibliothek nicht mehr unterstützt wird. – Benjamin

+0

@TiM bitte schauen Sie sich diese Frage, bezogen auf Realm Studio für Windows https://StackOverflow.com/Questions/47505171/android-realm-Database-decryption-failed – Aks4125

3

Eine andere Lösung, gibt es Drittanbieter-Plug-in Stetho Realm https://github.com/uPhyca/stetho-realm, ist Stetho Android-Debugging-Brücke von Facebook entwickelt. Außerdem können Sie die Daten des Reichs auf Ihren Geräten sehen.

1

Nachdem ich alle alten Antworten überprüft hatte, dachte ich darüber nach, meine neuesten Forschungen zu diesem Thema zu machen.

Wie unten Link haben sie nichts für Windows noch an Ort und Stelle. Sie haben Glück, wenn Sie Mac benutzen.

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

Aber sie haben über Dienstprogramm Build von Facebook durchsuchen und bearbeiten Reich Daten erwähnt.

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

PS: Die von Ihnen, die nicht wissen, wie man von Chrome-Browser debuggen Anwendung können Sie durch Geräte Optionen zu prüfen, klicken drei vertikale Punkte auf der rechten Seite auf Chrom gehen. Besuchen Sie Weitere Tools - >> Developer Tools - >> Klicken Sie erneut auf drei vertikale Punkte - >> Weitere Optionen - >>> Inspect Devices. Danach würden Sie die gleiche Benutzeroberfläche wie die Funktionen im obigen Link sehen.

3

Ich habe gerade einen trivialen Realm Browser (Rebro) in Form eines Android Studio Plugins geschrieben. Nicht sicher, wie groß die Nachfrage ist, es war mehr wie eine Herausforderung. Aber trotzdem, hier gehst du: https://github.com/Ghedeon/Rebro

+0

@MarkBuikema es tut. – Ghedeon