Als «android-architecture-components» getaggte Fragen

Eine neue Sammlung von Bibliotheken, mit denen Sie robuste, testbare und wartbare Android-Apps entwerfen können. Beginnen Sie mit Klassen zum Verwalten des Lebenszyklus Ihrer UI-Komponenten und zum Behandeln der Datenpersistenz.

10
Was ist AndroidX?
Ich lese über eine Raumbibliothek von Android. Ich sehe sie geändert Paket androidzu androidx. Ich habe das nicht verstanden. Kann mir bitte jemand erklären? implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" Auch dies ist mit dem androidPaket auch verfügbar . implementation "android.arch.persistence.room:runtime:$room_version" annotationProcessor "android.arch.persistence.room:compiler:$room_version" Was war nötig, um neue Support-Bibliotheken einzupacken, androidxanstatt android? …

9
Wann sollte RxJava in Android verwendet werden und wann sollte LiveData von Android Architectural Components verwendet werden?
Ich bekomme keinen Grund, RxJava in Android und LiveData von Android Architectural Components zu verwenden. Es wäre sehr hilfreich, wenn die Anwendungsfälle und Unterschiede zwischen beiden zusammen mit einem Beispielbeispiel in Form von Code erläutert würden, der die Unterschiede zwischen beiden erklärt.


3
AndroidViewModel vs ViewModel
Mit der Einführung der Android Architecture Components-Bibliothek wurden mehrere neue Klassen eingeführt, darunter AndroidViewModelund ViewModel. Ich habe jedoch Probleme, den Unterschied zwischen diesen beiden Klassen herauszufinden. Die Dokumentation beschreibt kurz AndroidViewModelund bündig wie folgt: Anwendungskontext bewusst ViewModel Ich schätze die Kürze, aber was genau bedeutet das? Wann sollten wir uns …

21
ViewModelProviders ist in 1.1.0 veraltet
Mit Blick auf die Google Text & Tabellen für ViewModelSie zeigen die folgenden Beispielcode, wie ein bekommen ViewModel: val model = ViewModelProviders.of(this).get(MyViewModel::class.java) Bei Verwendung der neuesten Abhängigkeit android.arch.lifecycle:extensions:1.1.1gibt es keine solche Klasse ViewModelProviders. Gehen zur Dokumentation für ViewModelProviderssah ich einen Kommentar zu sagen: Diese Klasse wurde in API-Level 1.1.0 nicht …


12
So löschen Sie den Navigationsstapel nach dem Navigieren zu einem anderen Fragment in Android
Ich verwende die neue Navigationsarchitekturkomponente in Android und kann den Navigationsstapel nach dem Wechsel zu einem neuen Fragment nicht mehr löschen. Beispiel: Ich bin im loginFragment und möchte, dass dieses Fragment vom Stapel gelöscht wird, wenn ich zum Home-Fragment navigiere, damit der Benutzer nicht zum loginFragment zurückkehrt, wenn er die …

8
Android Room Persistence Library: Upsert
Die Room Persistence Library von Android enthält freundlicherweise die Anmerkungen @Insert und @Update, die für Objekte oder Sammlungen funktionieren. Ich habe jedoch einen Anwendungsfall (Push-Benachrichtigungen, die ein Modell enthalten), für den ein UPSERT erforderlich wäre, da die Daten möglicherweise in der Datenbank vorhanden sind oder nicht. Sqlite hat kein Upsert …

3
Warum gibt es eine separate MutableLiveData-Unterklasse von LiveData?
Es sieht so MutableLiveDataaus, als würde es sich LiveDatanur dadurch unterscheiden, dass die Methoden setValue()und veröffentlicht postValue()werden, während LiveDatasie geschützt sind. Was sind einige Gründe, eine separate Klasse für diese Änderung zu erstellen und diese Methoden nicht einfach als öffentlich an LiveDatasich zu definieren? Ist eine solche Form der Vererbung …

5
So aktualisieren Sie LiveData eines ViewModel über den Hintergrunddienst und die Update-Benutzeroberfläche
Kürzlich beschäftige ich mich mit Android-Architektur, die kürzlich von Google eingeführt wurde. Aus der Dokumentation habe ich folgendes gefunden: public class MyViewModel extends ViewModel { private MutableLiveData<List<User>> users; public LiveData<List<User>> getUsers() { if (users == null) { users = new MutableLiveData<List<Users>>(); loadUsers(); } return users; } private void loadUsers() { …

4
LiveData von ViewModel aus beobachten
Ich habe eine separate Klasse, in der ich Daten abrufe (insbesondere Firebase), und ich gebe normalerweise LiveData-Objekte von dieser zurück und aktualisiere sie asynchron. Jetzt möchte ich die zurückgegebenen Daten in einem ViewModel speichern, aber das Problem ist, dass ich das LiveData-Objekt beobachten muss, das von meiner Datenabrufklasse zurückgegeben wird, …


24
Es kann keine Instanz der Klasse ViewModel erstellt werden
Ich versuche, eine Beispiel-App mit Android-Architekturkomponenten zu schreiben, aber selbst nach tagelangen Versuchen konnte ich sie nicht zum Laufen bringen. Es gibt mir die obige Ausnahme. Lebenszyklusbesitzer: - public class MainActivity extends LifecycleActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = findViewById(R.id.tv_user); PostViewModel viewModel = ViewModelProviders.of(this).get(PostViewModel.class); viewModel.loadPosts(); …

24
Raumpersistenz: Fehler: Entitäten und Pojos müssen über einen verwendbaren öffentlichen Konstruktor verfügen
Ich konvertiere ein Projekt in Kotlin und versuche, mein Modell (das auch meine Entität ist) zu einer Datenklasse zu machen, die ich mit Moshi zum Konvertieren der JSON-Antworten von der API verwenden möchte @Entity(tableName = "movies") data class MovieKt( @PrimaryKey var id : Int, var title: String, var overview: String, …

7
Wie gehe ich mit Fehlerzuständen mit LiveData um?
Das neue LiveDatakann in einigen Szenarien als Ersatz für die Observablen von RxJava verwendet werden. Doch im Gegensatz zu Observable, LiveDatahat keinen Rückruf für Fehler. Meine Frage lautet: Wie soll ich mit Fehlern umgehen LiveData, z. B. wenn sie von einer Netzwerkressource unterstützt werden, die aufgrund einer nicht abgerufen werden …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.