Gibt es eine Möglichkeit, Realm-Abfragen von AsyncTask aus aufzurufen? Ich habe so viele Anfragen, die tun Join, also möchte ich sie von einem separaten One AsyncTask aufrufen, um die Belastung auf UI Thread zu vermeiden. Momentan benutze ich DefaultInstance of Realm überall. Ich erhalte diese StörungRealm von AsyncTask aufrufen
Realm-Objekte können nur auf dem Thread zugegriffen werden sie geschaffen, in dem
PS Ich weiß Realm seine eigene Async für jede Abfrage, aber wie ich, dass ich nur eine Menge erwähnt haben von separaten Aufrufen, die weiterhin Joins und for-Schleifen durchführen.
EDIT
hier ist mein Code für eine Async
@Override
protected Object doInBackground(Object[] params) {
//Step 1: Find All quote_taxes
Realm realm = Realm.getDefaultInstance();
listTaxData = new ArrayList<TaxData>();
try {
RealmResults<quote_taxes> listQuoteTaxes = quote_taxes.get_from_quotes(realm, quote.getId());
if (listQuoteTaxes != null && listQuoteTaxes.size() > 0) {
for (quote_taxes quoteTax : listQuoteTaxes) {
TaxData taxData = new TaxData();
taxData.setTaxName(quoteTax.getTaxName());
taxData.setAccountNumber("" + quoteTax.getAccountNumber());
taxData.setTaxRate("" + quoteTax.getTaxRate() + "%");
double total = quote_taxes.total(realm, quoteTax);
showLog("Total = " + total);
}
}
}catch (Exception ex)
{
}finally {
realm.close();
}
return null;
}
Einige Codebeispiel ... https://github.com/realm/realm-java/blob/master/examples/threadExample/src/main/java/io/realm/examples/threads/AsyncTaskFragment. Java –
Danke ..! Also das ist der Schlüssel, ich muss DefaultInstance in doinBackground abrufen? – Ajji
Kann das nicht beantworten. Nie benutzt Realm. Nur wirklich gut in der Verwendung von Google für Menschen –