Grupa MagazynyInternetowe
Online: 969
Programowanie na urządzenia mobilne jest proste.
Android to nazwa nowego systemu operacyjnego dla urządzeń mobilnych, tworzonego i rozwijanego przez Google, a wspieranego przez szereg najważniejszych graczy na rynku. Fakt ten oraz zbliżająca się premiera pierwszego telefonu z zainstalowanym Androidem sprawiają, że warto przyjrzeć się możliwości tworzenia na niego własnych aplikacji.
Wojciech Kocjan
Rynek mobilny stale ewoluuje w stronę urządzeń multimedialnych, będących tak naprawdę niewielkim komputerem. W ostatnich miesiącach furorę zrobił Apple ze swoim iPhonem, a teraz do rywalizacji przystępuje kolejny konkurent - Google z systemem operacyjnym Android, który wkrótce będzie obecny na telefonie HTC Dream.
Choć dla giganta z Mountain View jest to stosunkowo nowy obszar działalności, to wielu ekspertów wróży całemu przedsięwzięciu sukces. Google już od ponad roku przygotowuje swój system operacyjny, udostępniając publicznie SDK (Software Development Kit) i zachęcając programistów (m.in. przez konkurs z dużymi nagrodami finansowymi - patrz ramka) do budowy aplikacji dedykowanych Androidowi . W chwili premiery nowego urządzenia HTC, Android będzie miał więc szereg gotowych aplikacji, a Google doświadczenie i uwagi zebrane przez developerów podczas ich prac nad wersją testową systemu. Nie bez znaczenia jest również wsparcie Open Handset Alliance - konsorcjum, w skład którego wchodzi ponad 30 przedsiębiorstw, m.in. T-Mobile, HTC, LG, Motorola czy Samsung.
Jednym z głównych czynników decydujących o sukcesie systemu operacyjnego jest lista aplikacji, jakie można pod nim uruchomić. Firmy zaangażowane w rozwój Androida wydają zdawać sobie z tego sprawę i przygotowały dla developerów szereg narzędzi i porad, umożliwiających pisanie programów. Co ważne - w przeciwieństwie do Apple - całość jest dostępna publicznie dla każdego, bez konieczności wykupywania dostępu.
Google pomoże również w dystrybucji i sprzedaży naszych aplikacji, poprzez specjalnie do tego celu zaprojektowany "Google Market". Podobne rozwiązanie wprowadziło Apple dla swojego urządzenia - "Iphone app store" okazał się strzałem w dziesiątkę, zarówno dla użytkowników, którzy w jednym miejscu mogą tanio rozszerzyć możliwości swojego telefonu, jak i dla developerów, zarabiających na sprzedaży aplikacji często niemałe pieniądze.
Android posiada warstwową architekturę (źródło: code.google.com)
System operacyjny Android oparty jest na jądrze Linuksa w wersji 2.6, które zapewnia obsługę najniższych warstw, takich jak zarządzanie pamięcią, procesami, siecią czy sterownikami. Wyższą warstwę systemu stanowią biblioteki, odpowiedzialne m.in. za media (obsługa audio, wideo i zdjęć), wyświetlanie grafiki 2D i 3D (OpenGL), czcionek (FreeType) czy dostęp do bazy danych (SQLite). Środowisko działania dla aplikacji stanowi maszyna wirtualna Dalvik.
Do kodu tejże maszyny komplikowane są aplikacje napisane w Javie. Jest to specjalna wersja maszyny wirtualnej zaprojektowana przez Google dla urządzeń mobilnych, niekompatybilna ze standardową maszyną wirtualną Java. Najwyższe warstwy systemu stanowią framework aplikacji oraz same aplikacje.
Tworząc aplikację dla Androida należy pamiętać o przeznaczeniu tego systemu operacyjnego, jakim jest urządzenie mobilne. Kod piszemy co prawda w Javie przy wykorzystaniu języka znaczników XML, jednakże stale na uwadze powinniśmy mieć specyficzne ograniczenia, jak i nowe możliwości, które charakteryzują przenośne urządzenia.
Do tej pierwszej grupy zalicza się przede wszystkim niewielki ekran, wykluczający obecność długich tekstów czy skomplikowanych elementów nawigacji. W przypadku Androida za standardową rozdzielczość przyjmuje się 320 x 480 pikseli, przy czym użytkownik może w bardzo łatwy sposób (obracając telefon) zmienić orientację i wówczas dostępna wysokość ekranu to 320 pikseli. Koniecznie trzeba pamiętać o tych zmiennych warunkach i testować aplikacje w orientacjach poziomej (ang. horizontal, landscape) oraz pionowej (ang. vertical, portrait).
Google wie, jak skutecznie zachęcić programistów do zapoznania się z możliwościami tworzenia programów do nowego systemu operacyjnego. Wraz z publiczną premierą testowego SDK, gigant z Doliny Krzemowej ogłosił konkurs "Android Developer Challenge", przeznaczając na nagrody dla autorów najciekawszych aplikacji łączną pulę 10 milionów dolarów.
Konkurs składał się z dwóch etapów. Na pierwszy przysłano prawie 2000 zgłoszeń, z których jury wybrało 50 najciekawszych i przeznaczyło na każdy z nich po 25 tysięcy dolarów na dalszy rozwój. Spośród finalistów jury wybrało następnie kolejne 20 najlepszych aplikacji. Twórcy pierwszych dziesięciu otrzymało nagrody w wysokości 275 tysięcy dolarów, a kolejnych dziesięciu - po 100 tysięcy. Lista wszystkich finałowych aplikacji dostępna jest pod adresem: http://code.google.com/android....
Każdy z projektów zawiera prezentację zrzutów ekranu oraz opis funkcjonalności, co stanowi doskonałą lekturę na temat możliwości aplikacji mobilnych, jak i całej platformy Android .
Nazwy angielskie w nawiasach podawane są celowo, gdyż występują one w środowisku programistycznym, w którym możemy wybrać orientację, w jakiej uruchomiony ma zostać emulator. Ponadto zalecamy tworzenie całych aplikacji właśnie w języku angielskim - "Google Market" rozwiązuje problemy z dystrybucją programów, dlaczego więc nie spróbować naszymi rozwiązaniami zdobyć rynku globalnego? Zwłaszcza, że wciąż nie wiadomo kiedy Android pojawi się w Polsce.
Poza kwestiami lokalizacyjnymi oraz wielkością ekranu, warto mieć na uwadze inny sposób interakcji z użytkownikiem, niż ma to miejsce w standardowych programach - w urządzeniach mobilnych z Androidem dostępny jest ekran dotykowy, brakuje natomiast pełnowymiarowej klawiatury, przez co wprowadzanie tekstu nigdy nie będzie tak wygodne, jak w przypadku zwykłego komputera. Zapomnijmy więc o projektowaniu skomplikowanych formularzy i zmuszania użytkownika do podawania zbyt dużej ilości danych - ograniczmy to do niezbędnego minimum.
O sukcesie aplikacji mobilnej - poza solidnym wykonaniem, co jest oczywiste - decyduje przede wszystkim dobry pomysł na wykorzystanie możliwości, jakie niosą ze sobą przenośne urządzenia. Mowa tutaj o dostępie do odbiornika GPS, listy kontaktów, telefonu (rozmów głosowych), wiadomości SMS/MMS, aparatu fotograficznego/kamery czy czujników - akcelerometru czy np. termometru (Android daje taką możliwość).
Przykładowa aplikacja może np. za pomocą GPS sprawdzić najbliższych znajomych w okolicy (mając ich adresy na liście kontaktów), a następnie wysłać do nich MMS-a z właśnie wykonanym zdjęciem i informacją o miejscu spotkania. Możliwości tak naprawdę są nieograniczone - użytkownicy mają prawie zawsze przy sobie urządzenie, które przecież dodatkowo posiada dostęp do internetu (Wi-Fi, a także GPRS, EDGE czy UMTS).
Powiązane publikacje
Komentarzy: 3
u mnie niestety nie działa. Czy ktoś mógłby załączyć paczkę z działającym kodem?
To stary artykuł - 2 listopada 2008. Poszukaj w sieci (a podstawa to język angielski
) - jest sporo materiałów anglojęzycznych i zapewne trochę polskich.
Przydalaby sie odswiezona wersja na 1.5 (jesli sie cos zmienilo?)
a i brakuje najwazniejszego dla mnie, jak zainstalowac aplikacje na wlasnym telefonie?
Artykuły tego autora:
Propozycje Google na nowe sposoby wyszukiwania zapowiadają się obiecująco. Szczególnie dobrze wygląda wyświetlanie danych w czasie rzeczywistym i rozpoznawanie obiektów na zdjęciach.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: