Pytania otagowane jako android-architecture-components

Nowa kolekcja bibliotek, które pomagają projektować niezawodne, testowalne i łatwe w utrzymaniu aplikacje na Androida. Zacznij od klas do zarządzania cyklem życia składnika interfejsu użytkownika i obsługi trwałości danych.

10
Co to jest AndroidX?
Czytam o bibliotece pokojowej Androida. Widzę, że zmienili pakiet androidna androidx. Nie zrozumiałem tego. Czy ktoś może wyjaśnić? implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" Nawet to jest dostępne androidrównież w pakiecie. implementation "android.arch.persistence.room:runtime:$room_version" annotationProcessor "android.arch.persistence.room:compiler:$room_version" Czemu potrzebowaliśmy androidxzamiast tego pakować nowe biblioteki wsparcia android? Przypadek użycia i czynniki wpływające na istniejące projekty.



22
ViewModelProviders jest przestarzałe w wersji 1.1.0
Patrząc na dokumenty Google dla ViewModel, pokazują one poniższy przykładowy kod, jak uzyskać ViewModel: val model = ViewModelProviders.of(this).get(MyViewModel::class.java) W przypadku korzystania z najnowszej zależności android.arch.lifecycle:extensions:1.1.1nie ma takiej klasy ViewModelProviders. Przechodząc do dokumentacji dla ViewModelProviders, zobaczyłem komentarz mówiący: Ta klasa została wycofana na poziomie interfejsu API 1.1.0. Użyj ViewModelProvider.AndroidViewModelFactory Problem polega …

3
AndroidViewModel vs ViewModel
Wraz z wprowadzeniem biblioteki składników architektury systemu Android wprowadzono kilka nowych klas, w tym AndroidViewModeli ViewModel. Jednak mam problem ze zrozumieniem różnicy między tymi dwiema klasami. PlikDokumentacja zwięźle opisuje AndroidViewModelnastępująco: Świadomość kontekstu aplikacji ViewModel Doceniam zwięzłość, ale co to dokładnie oznacza? Kiedy powinniśmy zdecydować się na stosowanie AndroidViewModelprzez ViewModeli vice …

14
Nie można rozpoznać symbolu ViewModelProviders w AppCompatActivity
Hej, próbuję uruchomić mój ViewModel, ale na razie nie mam szczęścia. Android Studio wyświetla błąd Cannot resolve symbol 'ViewModelProviders'. Każde inne pytanie znalazłem na ten temat została sprostowanie extends Activitydo extends AppCompatActivity, ale ja rozszerzenie właściwy. Nie wiem, czego mi brakuje ... Mój kod jest oparty na tym filmie YouTube …

12
Jak wyczyścić stos nawigacji po przejściu do innego fragmentu w systemie Android
Używam nowego komponentu architektury nawigacji w systemie Android i utknąłem w czyszczeniu stosu nawigacji po przejściu do nowego fragmentu. Przykład: Jestem w loginFragment i chcę, aby ten fragment został usunięty ze stosu, kiedy przejdę do fragmentu głównego, aby użytkownik nie powrócił do loginFragmentu po naciśnięciu przycisku Wstecz. Do nawigacji używam …

9
Biblioteka trwałości pomieszczeń Androida: Upsert
Biblioteka trwałości Room systemu Android łaskawie zawiera adnotacje @Insert i @Update, które działają dla obiektów lub kolekcji. Mam jednak przypadek użycia (powiadomienia push zawierające model), który wymagałby przesłania UPSERT, ponieważ dane mogą, ale nie muszą istnieć w bazie danych. Sqlite nie ma natywnego upsert, a obejścia są opisane w tym …

5
Jak zaktualizować dane LiveData ViewModel z usługi w tle i zaktualizować interfejs użytkownika
Ostatnio odkrywam architekturę Androida, która została niedawno wprowadzona przez Google. Z dokumentacji znalazłem to: 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() { // do async operation to …

3
Dlaczego istnieje oddzielna podklasa MutableLiveData w usłudze LiveData?
Wygląda na to, że MutableLiveDataróżni się od LiveDatatylko upublicznieniem metod setValue()i postValue(), podczas LiveDatagdy są one chronione. Jakie są powody, dla których warto utworzyć osobną klasę dla tej zmiany, a nie po prostu zdefiniować te metody jako publiczne LiveDatasame w sobie? Ogólnie rzecz biorąc, czy taka forma dziedziczenia (zwiększenie widoczności …



2
<androidx.fragment.app.FragmentContainerView> vs <fragment> jako widok dla NavHost
Podczas używania androidx.fragment.app.FragmentContainerViewjako navHost zamiast zwykłej fragmentaplikacji nie można nawigować do miejsca docelowego po zmianie orientacji. Otrzymuję następujący błąd: java.lang.IllegalStateException: no current navigation node Czy jest jakiś problem, który powinienem wiedzieć, aby go poprawnie używać, czy też mój sposób używania komponentów nav jest nieprawidłowy? Proste działanie xml z widokiem: ... …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.