Mam niestandardową metodę save()
w mojej niestandardowej klasy ContentProvider MyContentProvider
, którą chcę wywołać za pomocą ContentResolver. Celem jest przekazanie POJO jako pakietu do MyContentProvider
.Jak wywołać metodę niestandardową w ContentProvider za pośrednictwem ContentResolver i uzyskać dostęp do pakietu później?
Używam metody call
jak wspomniano here i zdefiniowano here.
Nie otrzymuję żadnych błędów. Ta metoda nie jest dostępna.
The (skrócone), niestandardowe ContentProvider metodą niestandardową wygląda następująco:
public class MyContentProvider extends ContentProvider {
public void save() {
Log.d("Test method", "called");
}
}
nazywam go tak:
ContentResolver contentResolver = context.getContentResolver();
Bundle bundle = new Bundle();
bundle.putSerializable("pojo", getPojo());
contentResolver.call(Contracts.CONTENT_URI, "save", null, bundle);
Dlaczego nigdy metoda save
zadzwonił i jeśli dostanę do tego momentu, w jaki sposób uzyskać dostęp do nazwanego Uri i pakietu w metodzie save()
? Nie mogłem znaleźć żadnego odniesienia do tego nigdzie na SO lub w Internecie.
Dziękuję za odpowiedzi!
musisz nadpisać metodę połączenia w swoim CP ... a następnie zadzwonić z funkcji zapisz stamtąd ... – Selvin
@Selvin To działa! Dziękuję Ci. Jeśli dodasz to jako odpowiedź, przyjmuję to. – OpenHaus