P-Programowanie

Jak zacząć z platformą Android?

Ostatania modyfikacja: 12 sierpnia 2014, kategoria: Android

Pierwszy artykuł dotyczący programowania w Androidzie jaki zamieszczam na tym blogu. Dowiedz się co sądzę o Androidzie, czy jest opłacalny oraz dlaczego sam zacząłem się nim interesować. W pierwszym artykule opiszę jak przygotować środowisko i kompilator, oraz jak uruchamiać aplikacje napisane w Androidzie.

Dlaczego Android?

Telefony komórkowe, smartfony i wszelkie inne mobilne urządzenia przenośne opanowują rynek. Wszystkie urządzania wymagają dostępu do internetu, łączenie z telewizorami, lodówkami itp. Rozwijanie swoich umiejętności w stronę programowania systemów mobilnych wydaje się dobrą inwestycją w przyszłość.

W 2012 roku ilość urządzeń z Androidem wynosiła 450 milionów, w 2013 roku było ich już 820 milionów a na początku roku 2014 ponad miliard! Dla porównania, w 2012 roku ilość urządzeń z systemem Windows to 280 milionów, a na początku roku 2014 „zaledwie” 400 milionów. Różnica wydaje się oszałamiająca!

Na łamach tego artykułu nie chcę udowadniać jaki system mobilny jest lepszy: Android, Windows Phone czy może iOS. Osobiście wybrałem Androida ponieważ wydaje się bardziej dostępny i otwarty. Pozostali producenci prowadzą bardziej restrykcyjną politykę prywatności i ograniczają możliwość dystrybucji aplikacji.

Uczę się Javy więc piszę.. w Androidzie

Chcąc nie chcąc, zostałem pchnięty w stronę Javy, języka którego niezbyt lubię (tak samo jak C#). Stwierdziłem, że dobrą nauką Javy będzie nauka platformy Android. Zamiast spędzania wielu godzin na klepaniu kodu w Javie, mam możliwość poznawania Androida i tajemnic mojego telefonu.

Dla niepoinformowanych trzeba nadmienić, że platforma Android została oczywiście napisana w Javie, więc zdobywając doświadczenia w tym pierwszym teoretycznie zdobywasz doświadczenie w drugim. Oczywiście istnieją różnice w samym projektowaniu aplikacji, w bibliotekach jednak język jest ten sam.

Nie mam telefonu z Androidem!

Posiadanie telefonu z systemem Android bardzo ułatwia naukę tej technologii. Możemy wtedy podłączyć telefon do komputera i uruchamiać na nim aplikacje, które piszemy. Na szczęście twórcy Androida napisali emulator, dzięki któremu możliwe jest uruchomienie wirtualnego telefonu bezpośrednio na komputerze na systemie Windows.

Emulator pozostawia wiele do życzenia pod względem wydajnościowym, ale nie ma się co dziwić, w końcu w całości napisany jest w Javie.

Konfiguracja Eclipse do pracy z Androidem

Android tak samo jak Java jest całkowicie darmowy. Oznacza to, że pobierasz środowisko, piszesz aplikacje i możesz je legalnie sprzedawać bez żadnych dodatkowych opłat i licencji. Osobiście bardzo polecam środowisko Eclipse, jest bardzo proste w konfiguracji, szybkie i wygodne.

Wejdź na stronę http://developer.android.com/sdk/index.html i pobierz Android SDK (Download the SDK, ADT bundle for Windows). Paczka zawiera w sobie wszystkie niezbędne komponenty.

Nie trzeba nic instalować. Rozpakuj paczkę i niezmienioną strukturę katalogów zapisz gdzieś na dysku.

Uruchom program SDK Manager znajdujący się w głównym katalogu. Niezbędne jest zainstalowanie narzędzi oraz wybranej wersji Androida. Uwaga! Weź pod uwagę, pod jaką wersją platformy chcesz tworzyć oprogramowanie. Jeżeli chcesz je testować na swoim telefonie wersja musi się zgadzać. Ja polecam zainstalować Ci wersję najnowszą (ewentualnie dodatkowo wersję 2.2, bo w środowisku można zaznaczyć opcję do jakiej najstarszej wersji Andka projekt ma być kompatybilny, polecaną jest właśnie wersja 2.2).

  • Z gałęzi Tools należy zainstalować Android SDK Tool oraz Android SDK Platform-tools. Zaznacz te dwie pozycje.
  • Z gałęzi Android 4.4.2 (Api 19) należy zainstalować SDK Platform oraz ARM System Image (można też inne wedle uznania).

SDK manager

Oczywiście możesz zaznaczyć całe dwie gałęzie ze wszystkimi pozycjami, wtedy instalacja będzie trwać dłużej ale będziesz miał super kompletną paczkę. Ja wymieniłem tylko niezbędne pozycje. Podczas instalacji trzeba kolejno akceptować licencję co jest wnerwiające dla wielu instalacji.

Kolejnym krokiem jest zainstalowanie wtyczki ADT dla Eclipse. Ponieważ pobrałeś gotową paczkę ze strony Androida wszystko masz już ustawione.

Przejdź do podkatalogu /eclipse/eclipse.exe i uruchom plik wykonywalny. Będziesz poproszony o wpisanie nazwy Workspace. Wybierz jakąś i przejdź dalej.

Z menu wybierasz: File > New > Android Application Project.

android projekt

Tak jak wspomniałem wcześniej. Tworząc nowy projekt ustalasz na jakie SDK Androida jest kierowana aplikacja. Oprócz tego należy ustalić minimalne wymagane SDK. Kliknij Next aby przejść do kolejnego kroku. Teraz nie zapomnij zaznaczyć opcji Create Activity. Przejdź do kolejnego kroku.

Kiedy zostaniesz zapytany o stworzenie aktywności koniecznie wybierz: Blank Activity.

Kolejne okienko jest dość nieszczęsne, ponieważ w ostatniej aktualizacji Androida pojawiła się nowa funkcjonalność o nazwie Fragmenty. Z tego też powodu, większość kursów i tutoriali dostępnych w internecie Ci nie zadziała.  Jeżeli nie chcesz usuwać fragmentów, nie musisz tego robić.

Jak pozbyć się fragmentów

Aby pozbyć się fragmentów, w momencie tworzenia aktywności wpisujemy taką samą nazwę dla szablonu oraz fragmentu. Może to wyglądać następująco:

fragmenty android

Po utworzeniu projektu, konieczna jest także drobna modyfikacja kodu.

Otwieramy główną aktywność dostępną w katalogu po lewej stronie, w gałęzi /res/nazwa_pakietu/MainActivity i modyfikujemy jej kod:

 

Dwa fragmenty przeznaczone do usunięcia, zostały przeze mnie zakomentowane. Od teraz możesz uruchamiać projekt, nie korzystając z fragmentów. Pamiętaj, że tworząc nową aktywność, operację należy dla niej powtórzyć.

Uruchomienie aplikacji w emulatorze Androida

Prawdopodobnie, nie masz ustawionego żadnego emulatora dla Androida i będziesz musiał go dodać. Zamknij Eclipse i uruchom ponownie aplikację SDK Manager. W menu na górze wybierz Tools > Manage AVDs.

Na liście wyświetlone są dostępne emulatory. Kliknij przycisk New... Pokaże się następujące okno:

android dodawanie emulatora

AVD Name jest tylko dla nas i możemy wpisać tam co chcemy. Kolejnym krokiem jest ustalenie urządzenia jakie będziemy naśladować. Polecam nie wybierać najstarszych gratów, ale także nie najnowszych jeżeli nie pozwalają nam na to parametry naszego komputera. Ja zawsze wybieram emulator Nexus5 i wszystko działa bezproblemowo.

Należy oczywiście ustalić na jaką wersję Android SDK kierowana jest nasza aplikacja. Pole CPU/ABI jest to obraz systemu zainstalowany wcześniej za pomocą SDK Manager. Na końcu dodajemy klawiaturę oraz wybieramy jej układ. Jest to najważniejsza grupa opcji podczas tworzenia emulatora Androida.

Jeżeli dysponujemy słabym komputerem można zmniejszyć ilość przydzielonej pamięci Ram z 2048MB na np. 1024MB. Polecam nie włączać emulatora kamery, ponieważ to tylko dodatkowe obciążenie dla naszego komputera.

Warto zastanowić się nad włączeniem opcji Use Host GPU, dzięki niej emulator będzie używał silnika OpenGL z naszego komputera. Dzięki temu wszystkie elementy graficzne będą renderować się o wiele szybciej. Włączenie tej opcji może znacząco przyśpieszyć działanie emulatora zwłaszcza na lepszych komputerach.

Emulator został utworzony! Włącz Eclipsa i uruchom aplikację jako Android Application. Weź pod uwagę, że emulator może startować nawet 5-10 minut. Jeżeli pojawią się błędy, mówiące o braku emulatora wykonaj instrukcję zawartą w ostatnim akapicie:

W razie błędów będziesz musiał przypisać emulator do projektu. W tym celu kliknij w menu na Project > Properies a następne wybierz zakładkę Run/Debug Setiings. Kliknij przycisk New, pokaże się okno. Wpisujesz odpowiednie dane dla projektu, takie jak jego nazwa oraz nazwa dla konfiguracji. Ostatnim krokiem jest przejście do zakładki Target i zaznaczenie utworzonego przez nas emulatora na liście. Niezwykle ważne jest kliknięcie przycisku Apply do zatwierdzenia zmian.

Uruchomienie aplikacji na własnym telefonie

Jeżeli jesteś szczęśliwym posiadaczem telefonu z systemem Android, możesz uruchamiać programy bezpośrednie na swoim telefonie. Wystarczy wykonać kilka prostych operacji. Po pierwsze zamknij Eclipse.

Drugim krokiem jest odblokowanie opcji dla programistów. Wejdź w ustawienia telefonu Ustawienia > Ogólne > Informacje o telefonie > Informacje o oprogramowaniu. Naciśnij palcem od 6-8 razy na pozycję Numer kompilacji.

opcje dla programistów android

Dzięki temu zabiegowi w Ustawieniach ogólnych pokaże się nowa pozycja Opcje dla programistów. Musisz w nich włączyć opcję debugowania USB.

debugowanie usb android

Teraz wystarczy podłączyć telefon do komputera za pomocą zwykłego kabla USB. Z menu możesz wybrać np. ładowanie bateriinie ma to znaczenia. Automatycznie powinien włączyć się Tryb Debugowania. Włącz Eclipse i skompiluj projekt. Zostanie uruchomiony na Twoim telefonie w ciągu kilku sekund.

Użytkownik Mateusz napisał:

22 kwietnia 2014


Zaciekawiłeś mnie artykułem i przekonałeś żeby zacząć programować. Mam pytanie jestem całkowicie zielony w Javie, ale całkiem dobrze radzę sobie (tak uważam) z C++. Wyczytałem że nauka kolejnego języka programowania jest o wiele łatwiejsza bo pewne schematy się powielają. Czy w artykułach będziesz opisywał podstawy dla kogoś takiego jak ja czy będzie to dla ludzi już w pewnym stopniu obytych z Javą i Androidem?

Użytkownik Karol napisał:

23 kwietnia 2014


Zawsze warto uczyć się nowych języków, szczególnie jeżeli wiążesz przyszłość z informatyką/programowaniem. Wpisy na blogu, jak pewnie zauważyłeś, dodaje bardzo zróżnicowane. Niektóre dla początkujących, niektóre opisują różne tricki z nieco wyższej półki. Gdy byłem młody źle zaplanowałem nawigację tego bloga, z tego powodu nie mogę już tworzyć wpisów w formie kursu. Mogę dodawać jedynie pojedyncze artykuły bez żadnej hierarchii.

Kilka artykułów na pewno będzie dotyczyć podstaw, aby potencjalni czytelnicy mogli zarazić się Androidem. Więcej szczegółów teraz sam nie znam ;).

Użytkownik kloszikloszi napisał:

24 kwietnia 2014


Całkiem niezły ten blog…. Androidem myślę się pobawić bo mam tableta bo znudziło mi się pisanie w pracy ciągle c++ LabView,c (AVR,STM…)

Użytkownik Vitally napisał:

24 kwietnia 2014


Dobry blog lecz rzeczy typu Tibia bardziej cieszą oko. Hail Jeden Cel !

Użytkownik Piotrek napisał:

09 maja 2014


Jako, że gardzę javą i wszystkiego co zaczyna się od J w nazwie, napiszę delikatnie ;). Dlaczego używasz Eclipsa? Masa osób bo używa mimo, że jest wolnyi często się wywala. Nie lepiej pisząc na androida zainteresować się Googlowym IDE a dokładniej firmy jetbrain ?

Użytkownik Karol napisał:

10 maja 2014


Nie mam dużego doświadczenia w Javie. Przede wszystkim nie słyszałem o IDE, o którym wspomniałeś. Być może jest dobre uwagi. Eclipsa trzymam się dlatego, że jest używany w wielu firmach. Nigdy nie miałem jakichkolwiek problemów z Eclipsem.

Użytkownik Kunegundek napisał:

21 czerwca 2014


Kurcze, dobrego prowadzisz bloga, a trafiłem na niego przypadkiem jak szukałem trochę informacji, jak napisać skrypt do rozpoznawania urządzenia z którego wchodzimy na stronę. :D Swoją drogą, akurat właśnie planuję pisać coś na androida, a jestem w tym zielony. Czy możesz mniej więcej powiedzieć kiedy będzie następny wpis? :) Bardzo na niego czekam. :P

Zachęcam Cię do zostawienia komentarza!

Ilość znaków: 0