W swojej karierze programisty Androida widziałem już wiele projektów.
Ale naprawdę mało projektów z dobrymi, wartościowymi i DZIAŁAJĄCYMI testami.
W swojej karierze programisty Androida widziałem już wiele projektów.
Ale naprawdę mało projektów z dobrymi, wartościowymi i DZIAŁAJĄCYMI testami.
Od chwili, gdy Google ogłosił strategiczne wsparcie dla Kotlina przy tworzeniu aplikacji na Androida minęły ponad dwa lata. W tym czasie Kotlin stał się prawdziwym ulubieńcem developerskiej społeczności. W ubiegłorocznej ankiecie Stack Overflow zajął drugie miejsce pod względem popularności wśród programistów. Ponad trzy czwarte ankietowanych wskazało, że uwielbia w nim programować.
Kotlin ma w sobie coś. Sprawia, że wracając do aplikacji napisanej w Javie, czuję się jakby weekend się skończył. Oto jego 10 cech, które uwielbiam.
Continue reading „10 cech, które uwielbiam w języku Kotlin” →Pierwsza wersja mojego ebooka z narzędziami dla programistów Androida powstała jeszcze w 2015. Po 4 latach nadeszła pora na nową wersję: większą, lepszą i aktualną.
Jeśli chcesz zobaczyć jakie zasoby polecam na szkoleniach to zapraszam do pobrania:
Continue reading „Darmowy ebook „Sekrety Najlepszych Programistów Androida”” →Poprzednim razem zainstalowaliśmy i uruchomiliśmy środowisko, kolejnym więc krokiem będzie utworzenie pierwszego projektu i uruchomienie go w aplikacji, która będzie emulowała fizyczne urządzenie.
Tworzenie nowego projektu w Android Studio rozpoczynamy od kliknięcia File -> New Project.
Przywita nas okno kreatora w którym wpisujemy nazwę naszej aplikacji oraz domenę którą aplikacja ma się identyfikować.
Jest to o tyle ważne, że nie można umieścić dwóch takich samych aplikacji (oznaczonych takim samym ‘package name’) w sklepie. Identyfikator ten wyświetlany jest m.in. w pasku adresu w momencie w którym znajdujemy się na stronie aplikacji. Dlatego w polu company domain dobrze jest umieszczać unikalną domenę swojej firmy
Kolejnym krokiem jest wybranie które wersje systemu chcemy obsługiwać.
Bardzo przydatny jest tutaj przycisk “Help me choose” który wyświetla stan aktualnej fragmentacji Androida, a także podsumowania najważniejszych funkcji, które pojawiły się w kolejnych wersjach API. Warto dobrze zastanowić się nad tym które platformy chcemy wspierać. Utrzymywanie starszych wersji oznacza dodatkową prace, ale zwiększa też liczbę potencjalnych urządzeń na których będzie można zainstalować aplikację.
Kiedy już zdecydujemy się na konkretną wersję przejdziemy do ekranu tworzenia aktywności. Aktywność to komponent aplikacji odpowiedzialny za interfejs użytkownika. Musimy zdefiniować klasę, która dziedziczy po klasie “Activity”, oraz plik XML zawierający wygląd ekranu. My wybierzemy szablon Basic Activity.
Ostatnim krokiem jest nadanie nazwy naszej aktywności, layoutowi, ewentualnie menu które ma się wyświetlać.
Klikamy Finish, chwilę trwa aż aplikacja się zbuduje.
Projekt został utworzony. Kolejnym krokiem będzie uruchomienie go na emulatorze, czyli aplikacji, która zainstalowana w naszym systemie będzie udawała urządzenie z systemem Android. Warto jeszcze dodać, że emulacja nie jest idealna, a dodatkowo wymaga to sporej mocy obliczeniowej.
Aby rozpocząć tworzenie emulatora klikamy Tools -> Android -> AVD Manager. Skrót AVD oznacza Android Virtual Device. W tej zakładce znajduje się też SDK manager, w którym możemy pobrać obrazy do różnych wersji systemu. Po kliknięciu przywita nas okno: Android Virtual Device Manager.
Interesuje nas ten jeden jedyny dostępny przycisk: Create Virtual Device. Który wywołuje kolejny kreator.
W tym oknie widzimy kilka przykładowych urządzeń które możemy emulować. Są to urządzenia z serii Nexus, ale załóżmy, że chcemy skupić się na jakimś innym modelu i to na nim przeprowadzić testy. Na potrzeby tego samouczka wymyślę sobie jakieś urządzenie. Aby je dodać klikamy: “New hardware profile”. Nazwijmy jest sobie “Pear One”. Niech ma rozmiar 6 cali, rozdzielczość Full HD i 4 gb ramu. Wszystko uzupełniamy w tym oknie.
Klikamy Finish i przechodzimy dalej, pojawi się tam opcja wyboru systemu operacyjnego, który ma być uruchomiony na emulatorze.
Po prawej stronie jeśli nie było to wcześniej zainstalowane może pojawić się też opcja zainstalowania HAXM. Jest to oprogramowanie które wspiera emulację na procesorach Intel. Podczas instalacji tego dodatku zostaniemy odpytani ile pamięci RAM maksymalnie mu przydzielić i tyle. Po kliknięciu Finish wszystko powinno się zainstalować. Ostatnim krokiem jest podanie nazwy która będzie się wyświetlała na liście emulatorów, a także po rozwinięciu Advanced Settings rozmiary dla plików pamięci, karty SD, a także jaka ilość pamięci RAM ma być emulowana.
Po kliknięciu Finish i odczekaniu chwili powrócimy do pierwszego okna, ale będzie na nim już wyświetlone nasze urządzenie, możemy je tam edytować, usunąć, skopiować, etc..
Klikamy symbol play aby uruchomić i po chwili pojawia się nasze urządzenie.
Aplikacja jest dosyć zaawansowana, tzn po kliknięciu na te trzy kropki umożliwia nam wysłanie lokalizacji do urządzenia, ustawienie poziomu baterii, położenia w przestrzeni, emulowania odcisku palca etc..
Ostatnim krokiem w tym samouczku jest uruchomienie aplikacji na emulatorze. Aby to zrobić klikamy Run App do góry w Android Studio, lub skrót Shift + F10. Emulator zdecydowanie lepiej jest zminimalizować niż zamykać, zwłaszcza, że jego uruchomienie może chwilę zająć.
Spośród dostępnych urządzeń wybieramy emulator (drugim widocznym tutaj jest moje fizyczne urządzenie, ale o tym jak je skonfigurować napiszę w kolejnej części samouczka).
Klikamy ok, aplikacja zbuduje się i zacznie działać na wybranym przez Nas urządzeniu.
W ten oto sposób przeszliśmy od utworzenia projektu, przez zainstalowanie emulatora do uruchomienia projektu na emulatorze. Operacja zainstalowania aplikacji wykonuje się dzięki temu, że mamy protokół ADB do połączenia się z urządzeniami z systemem Android. Ale co to dokładnie jest i jak działa w następnej części, gdzie omówimy instalację fizycznego urządzenia.
Najbardziej popularnym i oficjalnie polecanym sposobem tworzenia aplikacji na system operacyjny Android jest korzystanie z języka Java lub Kotlin, oraz aplikacji Android Studio, zbudowanej na bazie IntelliJ IDEA. W tekście opiszę pokrótce jak dokonać instalacji i wstępnej konfiguracji tych narzędzi.
JDK dostępne jest na stronie: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Na stronie znajdziemy listę systemów operacyjnych, na które można pobrać JDK, w moim przypadku jest to system Windows. Aby móc rozpocząć pobieranie należy zaakceptować licencję.
Po pobraniu odpowiedniego pliku rozpoczynamy instalację, można zmienić katalog instalacji aplikacji, a w trakcie trwania instalacji JDK zostaniemy jeszcze poproszeni o zainstalowanie JRE.
JRE, czyli java runtime environment, środowisko uruchomieniowe Javy. Mówiąc najprościej, tak jak JDK jest potrzebne do tworzenia aplikacji, tak JRE jest potrzebne do ich uruchomienia. Wynika to z faktu wieloplatformowości języka Java, a działa w ten sposób, że w systemie jest instalowana maszyna wirtualna Javy, która jest “pośrednikiem” pomiędzy konkretnym systemem operacyjnym, a napisaną w Javie aplikacją. Dzięki temu aplikacje pisane raz można uruchomić na różnych systemach (np. Windows oraz Linux).
Jeżeli zainstalowaliśmy już obydwa komponenty i nie stało się nic nieoczekiwanego po otwarciu wiersza polecenia w systemie i wpisaniu java powinniśmy dostać spis dostępnych poleceń.
Kolejnym krokiem jest instalacja zintegrowanego środowiska programistycznego Android Studio dostępnego pod adresem:
https://developer.android.com/studio/index.html
Skąd po oczywistym zaakceptowaniu licencji.
Możemy pobrać środowisko i przejść do instalacji.
Tutaj warto wspomnieć o tym, że instalujemy kilka komponentów. Wymaganym jest oczywiście Android Studio, lecz dodatkowo znajdują się tam:
Pierwsze z nich to pakiet oprogramowania umożliwiający łączenie z systemem Android przez wiersz poleceń, zawierający biblioteki potrzebne do tworzenia aplikacji, a także bogaty zestaw narzędzi do tworzenia aplikacji, ich analizy a także rozpakowywania i podglądania zawartości skompilowanych już do plików uruchomieniowych Androida aplikacji. Drugie z kolei to emulator systemu Android, czyli aplikacja która “będzie udawała” telefon, z którego możemy korzystać do testowania aplikacji, rozbudowany o ciekawe narzędzia umożliwiające testowanie takich funkcji jak połączenia przychodzące, GPS, czy zachowanie aplikacji w przypadku niskiego poziomu baterii.
Po kliknięciu dalej i zaakceptowaniu licencji zostaną pokazane lokalizacje w których będzie zainstalowane IDE, oraz SDK razem z emulatorem. Warto zapamiętać zwłaszcza tą drugą (ja zawsze ją zmieniam), ponieważ Android Studio odpyta o nią przy pierwszym uruchomieniu.
Po zakończeniu tych kroków środowisko jest już prawie gotowe do działania, warto jednak jeszcze zajrzeć do katalogu w którym umieściliśmy SDK i uruchomić aplikację oznaczoną jako sdkmanager. W zależności od tego na które wersje i jakie urządzenia z Androidem będziemy pisali aplikacje będziemy potrzebowali SDK-platform. Z racji tego, że zajmują one sporo miejsca na dysku warto pobrać je wcześniej, zamiast robić to w trakcie pracy nad aplikacją. Chociaż do podstawowej pracy z aplikacją wystarczy samo SDK-platform, ja zawsze pobieram całość paczki dla danej wersji systemu operacyjnego. Pamięć jest tania, a dzięki temu mam wszystko pod ręką. Dodatkowo najnowsze build tools, a także cały folder extras.
To tyle słowem wstępu, w następnym wpisie o tym jak stworzyć projekt a także uruchomić go na emulatorze.
Praktyczny kurs Android to darmowy kurs wideo, wprowadzający uczestników w najważniejsze zagadnienia z zakresu programowania na urządzenia mobilne. Głównym celem tego kursu jest nauka poprzez tworzenie prawdziwych aplikacji, co pozwala skupić na najważniejszych tematach.
Kurs ten zaczął swoje istnienie jako cotygodniowe spotkanie, w ramach Koła Naukowego Informatyków PW. Miałem przyjemność poprowadzić tam pięć pierwszych spotkań. Po umieszczeniu ich na YouTube, okazało się, że dużo osób jest zainteresowanych nauką programowania na platformę Android. W ten sposób zaczął się rozwijać kanał Soldiers of Mobile.
Duża część materiałów z kursu posłużyła do stworzenia 3 dniowego szkolenia stacjonarnego, które obecnie ma już ponad 100 absolwentów. Przewagą takiego sposobu nauki jest niewątpliwie możliwość bezpośredniego zadawania pytań oraz natychmiastowe otrzymywanie informacji zwrotnej.
Continue reading „Praktyczny kurs Android” →
Szkolenia prowadzone są w formule BYOD (Bring Your Own Device), dzięki czemu uczestnicy mają komfort pracy na własnych urządzeniach.
W przypadku posiadania fizycznego urządzenia z Androidem wymagania są nieco mniejsze, ponieważ emulator Androida bardzo obciąża procesor i pamięć.
Programowanie w Androidzie odbywa się z wykorzystaniem języka Java. Dlatego też wymagane jest zainstalowanie JDK, przed Android Studio. Android Studio wspiera oficjalnie Java 7, choć istnieją możliwości wykorzystania Java 8 (o czym wspominam na zajęciach).
Zalecam instalację JDK 8: JDK 8
Na zajęciach zawsze używamy najnowszej, stabilnej wersji Android Studio. Do pobrania:
Wraz z Android Studio instalowane jest Android SDK z najnowszą wersją API (obecnie 28 – Android 9.0 Pie). Ponadto domyślnie tworzy się emulator obsługujący to API. Ważne jest, aby przed zajęciami upewnić się, że wszystko jest pobrane i dobrze skonfigurowane.
W tym celu: 1. Stwórz nowy projekt w Android Studio. 2. Klikaj Next, aż do momentu, gdy projekt się otworzy i zbuduje. 3. Uruchom projekt, klikając ikonę zielonego trójkąta (lub z menu Run/Run ‘app’) 4. Wybierz emulator do uruchomienia i poczekaj, aż aplikacja się uruchomi na emulatorze. 5. Jesteś gotowy do zajęć!
Jest duża szansa, że posiadasz już smartphone lub tablet z systemem Android w wersji 4.0 lub nowszej. Jeśli tak, to zachęcam Cię do zabrania go na zajęcia. Będziesz mógł szybciej i wygodniej testować stworzone aplikacje. Może być to nawet najprostsze urządzenie z supermarketu za 100pln i tak będzie szybsze od emulatora.
Domyślnie urządzenia z Androidem nie mają włączonej opcji debugowania aplikacji przez USB.
Opcja włączenia debugowania USB jest dostępna w Opcjach programistycznych w Ustawieniach systemu. W przypadku urządzeń z Androidem w wersji 4.2+ menu to jest domyślnie ukryte i wymaga kliknięcia 7 razy na opcji Build Number w About Phone (O urządzeniu).
Więcej info: Używanie urządzeń do testowania
System Windows wymaga zainstalowania sterownika, aby urządzenie było wykrywane. Polecam skorzystanie z narzędzia ADB Driver Installer, które samo dopasowuje sterownik do podłączonego urządzenia. Dzięki temu można korzystać nawet z egzotycznych urządzeń chińskich producentów, do których nie da się znaleźć oficjalnych sterowników.
WAŻNE: W przypadku systemów Windows 8.1 i 10, konieczne jest włączenie obsługi niepodpisanych sterowników. Więcej info…
Photo: Farzad Nazifi