2016-04-13 26 views
0

Bu, verileri bölgeye kaydetmek için MainActivity yöntemindeki stopPing() yöntemidir. Eğer verileri başka bir sınıftan realm içinde kullanmak istersem, nasıl kodlayabilirim. Ben başka bir sınıfta sorgulamak istediğinizdeVerileri başka bir sınıftan nasıl kullanabilirim? (android)

private void stopPing() { 
    linkEdt.setEnabled(true); 
    pingBtn.setText("Start Ping"); 
    isPing = false; 
    count = 0; 

    endTime = getTime(); 

    /* Open the Realm for the UI thread. */ 
    realm = Realm.getInstance(realmConfig); 

    /* All writes must be wrapped in a transaction to facilitate safe multi threading */ 
    realm.beginTransaction(); 

    Ping ping = realm.createObject(Ping.class); 

    /* Add ip */ 
    ping.set_ip(ip); 

    /* Add start time */ 
    ping.set_startTime(startTime); 

    /* Add end time. */ 
    ping.set_endTime(endTime); 

    /* Add down amount */ 
    ping.set_downAmount(downtime); 

    /* Add ping speed time. */ 
    PingTime pingtime = realm.createObject(PingTime.class); 

    for(Double speedTime : speedList){ 
     pingtime.time = speedTime; 
     ping.get_times().add(pingtime); 
    } 

    /* Add time. */ 
    for(String time : timeList){ 
     pingtime.pingTime = time; 
     ping.get_pingTime().add(pingtime); 
    } 

    realm.commitTransaction(); 

    /* stop handler. */ 
    this.mHandler.removeCallbacks(m_Runnable); 
} 

o alemine ile hata var - Boş bir nesne başvurusu üzerine >> io.realm.Realm.allObjects (java.lang.Class)'

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_ping_list); 


    for (Ping pers : realm.allObjects(Ping.class)) { 

     String startT, endT; 
     if (pers.get_stratTime() == null) { 
      startT = "None"; 
     } else { 
      startT = pers.get_stratTime(); 
     } 

     if (pers.get_endTime() == null) { 
      endT = "None"; 
     } else { 
      endT = pers.get_endTime(); 
     } 

     status += "Start time: " + startT + "\n End time: " + endT + "\n"; 
     status += "Ping total: " + pers.get_times().size() + "\n"; 
     status += "Down amount: " + pers.get_downAmount() + " time.\n"; 

     for (int i = 0; i < pers.get_times().size(); i++) { 
      double speed = pers.get_times().get(i).time; 
      String time = pers.get_pingTime().get(i).pingTime; 

      status += "time (" + (i + 1) + "): " + speed + " ms. at " + time + ".\n"; 
     } 

    } 

    System.out.println(status); 
} 

cevap

0

İkinci sınıftaki bölge örneğini nasıl yaratıyorsunuz? realm = Realm.getInstance(...)'u aramadıysanız, değişken null olur ve sonuçta gördüğünüz NullPointerException olur.

+0

Teşekkürler. Kullanıyorum. 'realm = Realm.getInstance (realmConfig); ama işe yaramadı. java.lang.IllegalArgumentException: Boş olmayan bir RealmConfiguration öğesi sağlanmalıdır –

+0

Burada RealmConfiguration nasıl oluşturulacağını ve kullanılabileceğini görebilirsiniz: https://github.com/realm/realm-java/blob/master/examples/introExample /src/main/java/io/realm/examples/intro/IntroExampleActivity.java#L55-Lundefined –

İlgili konular