Java, Android, Kotlin
Wiele współczesnych aplikacji korzysta z fragmentów oraz jednej aktywności. Takie zaprojektowanie aplikacji jest dobre, ale stanowi pewne problemy. Wraz z rozwojem aplikacji musimy zwrócić uwagę na takie elementy jak: transakcji fragmentów, przekazywanie argumentów w między komponentami, obsługa nawigacji w górę, w tył, radzenie sobie z tylnym stosem i wreszcie testowanie nawigacji w aplikacji. Czy możemy uprościć ten proces? Opisywałem te problemy już na blogu w powyższych linkach. W tym artykule...
Ile razy widziałeś listę w aplikacji na system Android? A ile razy tworzyłeś listę w swoim projekcie z mnóstwem danych? Gdy mamy mało informacji nie ma większego problemu z wydajnością i optymalizacją. Problem pojawia się, gdy mamy bardzo dużo rekordów do wyświetlenia. Zastanawiamy się, czy ściągnąć wszystkie dane, czy po trochu. Gdy ściągamy wszystkie dane możemy “zablokować aplikacji na pewien czas”, aż wszystko się wczyta. Z drugiej strony, gdy pobieramy dane w kawałkach musimy...
Osobiście nie lubię budować wyglądów strony czy aplikacji, ponieważ nie czuję tych wszystkich kolorów, układów itd. Niestety czasem trzeba wykonywać te czynności. Dlatego staram się stawiać na prostotę i minimalizm. Dziś porozmawiamy sobie o wyglądzie, a dokładniej zmianie układu, gdy wyświetlana jest klawiatura w aplikacji na system Android. Problem Jeżeli mamy pole do wpisywania tekstu, a pod nim jakiś kolejny widok. Jeżeli wyświetlimy klawiaturę, aby wpisać tekst, to ten drugi...
Wykonywanie zadań w tle jest częstą praktyką wśród aplikacji na system Android. Najczęściej jest to synchronizacja z serwerem w celu wysłania lub odebrania danych, na przykład pobranie nowych artykułów. Częstym błędem wśród początkujących programistów jest wykonywanie długotrwałych operacji na wątku głównym aplikacji. Takie zadania powinno się wykonywać w osobnym wątku. Od początku Androida programiście musieli borykać się z problemem w jaki sposób wykonać daną rzecz w jak...
W pewnym momencie Twoja aplikacja i tak będzie korzystać z bazy danych. Możesz łączyć się z bazą zdalnie i lokalnie. Jeśli pobierasz dane, które znajdują się na serwerze nie stanowi to większego problemu ponieważ możesz zaimplementować REST API. Jeśli posiadasz bazę danych na urządzeniu, na którym działa aplikacja to już może stanowi pewien problem. Problem polega na tym w jaki sposób najłatwiej i najszybciej pobrać te dane, a następnie je przetworzyć tak aby...
Znamy już takie komponenty architektury Androida: Data Binding, LifeCycles oraz ViewModel. Przyszedł czas na kolejną bibliotekę, a mianowicie na LiveData. Aby lepiej zrozumieć ten komponent wymagana jest znajomość ViewModel. Jeśli nie widziałeś poprzednich wpisów wejdź tutaj. Android Architecture Components: LiveData Załóżmy, że chcesz wykonywać pewne działania w ramach odpowiedzi na zmiany w danych zgodnie z cyklem życia Androida. Możesz także chcieć obserwować te wartości, które zmieniają się...
Omówiliśmy już Data Binding i LifeCycles w poprzednich postach. Teraz przyszedł czas na ViewModel. Jedną z kluczowych funkcji Androida, którą zawsze lubiłem, było to, że po kilku dniach można otworzyć aplikację i być dokładnie tam, gdzie ją zostawiłem. Aby takia magia zadziałała coś musi być wdrożone. Do tego po części służy ViewModel. Czym jest ViewModel? Klasa ViewModel umożliwia przechowywanie danych z uwzględnieniem cyklu życia komponentu. Cechą...
W poprzednim wpisie opisałem pierwszy komponent architektury Androida. Dziś zajmiemy się łatwiejszym komponentem i bierzemy na warsztać Lifecycles. Android Architecture Components: Lifecycles Cykl życia to jedna z pierwszych rzeczy, której uczą się osoby rozpoczynające tworzenia aplikacji na system Android. Jako programista musisz odpowiednio zarządzać cyklem życia aplikacji, co nie zawsze jest łatwe, szczególnie jeśli Twoja aplikacja zawiera jednocześnie wiele asynchronicznych połączeń. Biblioteka Lifecycles...
Rozpoczynamy serię postów na temat komponentów architektury Androida. Przeanalizujemy je na bardzo prostych przykładach, postaram się wyjaśnić, jak każdy z komponentów działa indywidualnie i jak możemy z nich korzystać. Na poczatku poznamy podstawy Data Binding, Android Architecture Components: Data Binding Kiedy tworzymy aplikację dla systemu Android, musimy połączyć dane w kodzie Java z plikiem układu XML. W tym celu możemy skorzystać z metody findViewById() lub...
Na konferencji I/O 2018 Google przedstawiło nowe zabawki dla programistów Androida. Został zaprezentowany Jeckpack oraz AndroidX. Google pozostawiło więcej pytań niż odpowiedzi, w tym artykule przyjrzymy się bliżej tym zagadnieniom. Wyjaśnię jak te wszystkie elementy układanki pasują do pakietu Jetpack dla Androida. Czym jest Jetpack dla Androida? Dokumentacja Android opisują Jetpack jako “zbiór komponentów oprogramowania, które ułatwiają tworzenie wspaniałych aplikacji na Androida”....
Ostatnio potrzebowałem stworzyć listę rozwijaną w Androidzie, która będzie podzielona według kategorii. Lista kategorii i ich elementów może zmieniać się dynamicznie. Musiałem to przedstawić na jednym ekranie. Pierwsze co przychodzi do głowy to stworzenie fragmentów według konkretnej kategorii. Jednak nie był to dobry pomysł. A może ViewPager? Też nie do końca mnie przekonywał. Musiałem poszukać czegoś innego. System Android posiada klasę ExpandableListView, która spełniała moje po części oczekiwania. Zobaczmy w jaki sposób stworzyć...
Na blogu staram się poruszać zagadnienia dla osób początkujących i zaawansowanych. Dziś będzie dla tych pierwszych, ale mam nadzieje, że osoby bardziej obyte w tworzeniu aplikacji na system Android znajdą też coś dla siebie. Na forum dla programistów padło pytanie, w jaki sposób pobrać ID wiersza listy, który ma swój odpowiednik w bazie danych. Dla osób bardziej zaawansowanych w programowaniu nie stanowi to większego problemu. Dla osób początkujących może...
Programując na system Android spotkałeś się z fragmentami. W jaki sposób zatwierdzałeś zmiany we fragmentach? Czy na pewno robiłeś to właściwie? Zatwierdzanie transakcji we fragmentach nie jest takie proste ponieważ klasa FragmentTransaction w bibliotece pomocy udostępnia aż cztery metody. Zobaczmy jakie one są. Co to jest FragmentTransaction? Klasa FragmentManager zarządza fragmentami w Androidzie. Korzystając z fragmentów można wykonać pewne działanie w wyniku interakcji z użytkownikiem. Należą do nich dodawanie, usuwanie, zastępowanie poszczególnych elementów. Wszystkie...
Typowa aplikacja dla systemu Android zawiera wiele informacji, które użytkownicy będą chcieli przenieść na nowe urządzenie. Począwszy od nazwy użytkownika i hasła, a skończywszy na wszelkich zmianach wprowadzonych w ustawieniach. Jako programista powinieneś zadbać o to, aby użytkownik był wstanie kontynuować prace zaraz po jej zainstalowaniu na nowym telefonie zamiast ustawiać wszystko od nowa. Przyjrzyjmy się w jaki sposób tworzyć automatyczne kopie zapasowe danych użytkownika w chmurze. Zapisywanie danych aplikacji...
Wiemy już czym jest stos oraz zadania. Dowiedziałeś się również jakie mamy tryby uruchomienia. Aby uzupełnić temat musimy jeszcze porozmawiać o fragmentach. Do tej pory wiesz, że przycisk wstecz wywołuje poprzednią aktywność. Jednak transakcje umieszczane na stosie nie muszą być wyłącznie aktywnościami. Mogą nimi być także fragmenty wyświetlane na ekranie urządzenia. Fragmenty a back Stack w Androidzie to specyficzny temat, a ten wpis pokaże Ci jaki sposób umieszczać fragmenty...