• Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way
Niebieski Pomarańczowy Zielony Różowy Purpurowy

Android – wrażenia z pola boju

Post z kategorii technikalia. Napisał Newton, a był to Sierpień 2, 2010 roku.
sie 02

W życiu każdego mężczyzny przychodzi moment, kiedy chce się porzucić dobrze znane okolice i udać się w dzicz i nieznane. Wakacje są dobrym momentem na takie wyprawy. Wakacyjna, programistyczna wyprawa w moim przypadku doprowadziła mnie do Android SDK – pakietu programistycznego dla telefonów z systemem Google.

Krótko mówiąc, chcąc nauczyć się czegoś nowego, postanowiłem napisać aplikację na swój telefon. Ponieważ ostatnimi czasy próbowałem nieco handlować na giełdzie (jeszcze trochę i może uda mi się w końcu wyjść na zero ;) ), pomyślałem o programie umożliwiającym takowy handel z poziomu telefonu komórkowego. Plan pracy zakładał kilka etapów, pierwszym z nich było utworzenie programu wyświetlającego aktualne notowania – i to się już udało.

Android SDK oparty jest o środowisko Eclipse. Cały pakiet ściąga się w postaci paczki, za darmo, ze strony Android Developers. Instalacja jest bezproblemowa, po ściągnięciu i zainstalowaniu Android SDK należy wybrać które z wersji Androida chcemy emulować, a pakiet dociągnie sobie potrzebne obrazy. Wszystko jest spójne, pod Linuksem działa bardzo fajnie i widać, że jest dopracowane. Eclipsa można lubić lub nie lubić, ja lubię (od kiedy mam 4 GB RAM-u, hehe). Podpowiadanie składni, uruchamianie aplikacji na emulatorze za pomocą jednego guzika, automatyczne kreatory pozwalające wyeksportować gotowy program w formie nadającej się do przesłania do Android Market, podgląd tworzonego aktualnie interfejsu – naprawdę przyjemne i ułatwiające życie rzeczy.

Androidowe aplikacje pisze się w Javie. Java jaka jest każdy widzi – z jednej strony rozwlekła składnia, nie bardzo czytelny kod, brak kilku przydatnych rzeczy takich jak przeciążanie operatorów, czy argumenty domyślne oraz – co najgorsze – ogromne konfiguracyjne XML-e. Z drugiej strony – tak naprawdę nie ma rozsądnej alternatywy. C++ jest jeszcze straszniejsze, a Python czy Ruby (mimo ogromnej sympatii, zwłaszcza dla tego drugiego) ze swoim dynamicznym typowaniem chyba jednak nie nadają się do tego, by być głównym językiem przenośnej platformy. Androidowa Java daje nam do dyspozycji kawałek dobrze znanego pakietu java.* (brakuje tu jednak np. klas obsługujących grafikę) oraz specyficzny pakiet android.*, który pozwala komunikować się z systemem, wyświetlać GUI, itd. Google nie troszczy się zbytnio o zachowanie standardów i nie uświadczymy w Androidzie rzeczy znanych z Javy SE czy ME.

Interfejs aplikacji opisuje się za pomocą XML-i. Występują w nich znaczniki opisujące pewne kontenery (na przykład LinearLayout czy TableLayout) oraz znaczniki oznaczające konkretne elementy (TextViewButton). Ustawiania elementów można nauczyć się dość szybko, pomaga tu bardzo wspomniana już funkcja podglądu. Istnieje nawet możliwość projektowania WYSIWYG, ale pozostawia ona jeszcze sporo do życzenia i lepiej edytować plik samemu. Myślę, że dla każdego kto miał do czynienia z HTML-em, projektowanie interfejsu aplikacji będzie dość intuicyjne.

Sama aplikacja składa się z aktywności, usług, dostawców treści oraz, hm, odbiorców (broadcast receiver). Aktywność jest odpowiednikiem okna. Usługa pozwala wykonać pewne operacje niezależnie od otwartych aktywności. Dostawca treści pozwala wykorzystywać innym aplikacjom wytworzone dane, zaś odbiorca pozwala reagować na różne zdefiniowane lub systemowe zdarzenia (na przykład: „jest już 12:00!”, albo: „Marek dzwoni”). Szczegółowy opis tych elementów znajduje się już na milionie stron, więc nie ma co się rozpisywać. Ważnym elementem każdej aplikacji jest także jakiś magazyn danych. W przypadku Androida każda aplikacja może w prosty sposób utworzyć swoją bazę SQLite. Nie ma co prawda żadnego standardowego ORM-a, ale od pisania surowych SQL-i chroni nas rozbudowana klasa SQLiteQueryBuilder.

Wszyscy wiedzą, że napisać program to jeszcze nic – trzeba go jeszcze zmusić do poprawnego działania. Android SDK daje możliwość debuggowania za pomocą Eclipsa (można ustawiać breakpointy, podglądać zawartość zmiennych itd). Warto też mieć uruchomioną gdzieś w tle aplikację adb logcat. Wyświetla ona logi systemowe oraz (co ważne) treści wyjątków. Można również logować swoje błędy przy użyciu sympatycznej klasy Log i jej statycznych metod (polecam Log.wtf()).

A gdy już utworzymy naszą aplikację której pragną miliony, wystarczy zapłacić $25 Google’owi i już można publikować program w Android Market. Niestety, Polska traktowana jest tu nieco po macoszemu – możemy zamieszczać w sklepie jedynie aplikacje darmowe.

Ogólnie fajna zabawa, można zacząć od razu, nie trzeba mieć nawet telefonu z Androidem (dzięki wbudowanym emulatorom). Udział takich komórek w rynku systematycznie rośnie i myślę, że mimo kilku problemów, warto się tą platformą zainteresować.

Komentarze: 2

  1. M4ks on Grudzień 3rd, 2010

    Świetna aplikacja! A ja mam pytanie – skad ciagniete sa notowania?

  2. Newton on Grudzień 3rd, 2010

    Z mojego serwera. A na moim serwerze biorą się z konta DM PKO BP (dzięki RPromakowi – https://github.com/trekawek/RPromak/).



Zostaw odpowiedź

Blog Newtona

Nazywam się Newton. Teraz będę kłamał.

  • Kategorie
    • arduino
    • emo
    • filmy
    • inne
    • książki
    • muzyka
    • nauka
    • podróże
    • technikalia
    • wiara
  • Archiwa
    • Styczeń 2012
    • Grudzień 2011
    • Wrzesień 2011
    • Sierpień 2011
    • Maj 2011
    • Marzec 2011
    • Luty 2011
    • Styczeń 2011
    • Grudzień 2010
    • Listopad 2010
    • Październik 2010
    • Sierpień 2010
    • Lipiec 2010
    • Maj 2010
    • Kwiecień 2010
    • Luty 2010
    • Grudzień 2009
    • Listopad 2009
    • Październik 2009
    • Wrzesień 2009
    • Sierpień 2009
    • Lipiec 2009
    • Czerwiec 2009
    • Maj 2009
    • Kwiecień 2009
    • Marzec 2009
    • Luty 2009
    • Styczeń 2009
    • Grudzień 2008
    • Listopad 2008
    • Październik 2008
    • Wrzesień 2008
    • Sierpień 2008
    • Lipiec 2008
    • Czerwiec 2008
    • Maj 2008
    • Kwiecień 2008
    • Marzec 2008
    • Luty 2008
    • Styczeń 2008
    • Grudzień 2007
    • Listopad 2007
    • Październik 2007
    • Wrzesień 2007
    • Sierpień 2007
    • Maj 2007
    • Kwiecień 2007
    • Marzec 2007
    • Luty 2007
  • Wyszukiwanie






  • Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way

© Copyright Blog Newtona. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Do góry!