Miasto Programistów – trochę teorii, trochę praktyki część 2

4 minuty czytania
Komentarze
Miasto Programistów

Witam ponownie w Mieście Programistów, od razu chcę Was ostrzec, że dzisiaj też będzie trochę więcej teorii niż praktyki, ale obiecuję, że w najbliższym czasie się to zmieni.

 

Po zapoznaniu się z najważniejszymi częściami aplikacji czas przejść do elementów konfiguracyjnych.

Pierwszym i najważniejszym z takich elementów jest plik manifestu. W zależności od środowiska programowania, można go wygenerować ręcznie (na przykład w wierszu poleceń, czy terminalu), lub tak jak w naszym przypadku, jest on tworzony automatycznie przez środowisko Eclipse.

No wszystko pięknie, ładnie, ale po co nam taki plik?

 

Manifest przechowuje bardzo ważne informacje dotyczące aplikacji, takie jak:

– nazwa oraz ikona aplikacji,

– wersja publiczna (widoczna użytkownikom),

– kod wersji (widoczny programistom),

– ograniczenia (co do SDK, czy rozdzielczości),

– uprawnienia,

– deklaracje komponentów (aktywności, usługi).

 

Plik ten zawsze umieszczany jest w głównym katalogu projektu i nosi nazwę AndroidManifest.xml.

Kod wersji jest oznaczeniem (liczbą naturalną) wykorzystywanym przez system. Ta sama aplikacja o wyższym kodzie wersji uznawana jest przez system jako nowsza i może ona zastąpić „starszą wersję”. Wersja publiczna jest zdecydowanie bardziej przyjazna, można w niej umieszczać nawet łańcuchy znaków takiej jak „BETA2”, czy „RC2”.

Jeżeli aplikacja nie obsługuje wszystkich wersji SDK, bądź też rozdzielczości ekranów, ustanawiamy w manifeście ograniczenia. Właśnie na podstawie ich Android Market udostępnia aplikacje jedynie urządzeniom obsługiwanym.

 

W pliku manifestu zapisane są również uprawnienia aplikacji. Przykładowo: bez prawa do użycia wibracji, nie wykorzystamy go w aplikacji Dodatkowo podczas instalacji są one przedstawiane użytkownikowi, który powinien się z nimi zapoznać (chociaż wszyscy wiemy jak to bywa).

Do użycia każdej aktywności, czy też usługi potrzebna jest ich deklaracja w pliku manifestu. W przeciwnym wypadku chcąc uruchomić dany komponent przywita nas piękny błąd aplikacji.

Tak więc jeżeli zapoznaliśmy się już z podstawami, czas stworzyć Waszą pierwszą aplikację na Androida.  Dodatkowo opiszę tutaj strukturę projektu.

Uruchamiamy więc Eclipse. Zapewne skonfigurowaliście już go pod kątem aplikacji na Nasz ukochany system operacyjny.

Wchodzimy w File -> New -> Android Project, wybieramy nazwę naszej aplikacji.

 

 

Następnie przechodzimy dalej w celu wybrania wersji SDK (jeżeli nie macie nic do wyboru, musicie najpierw pobrać je w SDK Androida). Ja wybrałem wersję 2.3.3, która jest 10 poziomem API, jednak przy pierwszej, mało skomplikowanej aplikacji możecie wybrać nawet Cupcake, czy Donut. Nie będzie to miało wpływu na działanie aplikacji (ewentualnie na jej wyświetlenie da ekranach w wysokiej rozdzielczości, bądź też jak to bywa z wersjami 2.2 i niżej, bo prostu nie zostaną one wyświetlone, bo tego nie obsługują).

Następnie wpisujemy nazwę paczki, ja akurat w tum wypadku wymyśliłem bardzo zmyślną nazwę. W praktyce ludzie podają adresy stron i nazwę aplikacji, bądź też nazwę developera i nazwę aplikacji. Często poprzedzone one są skrótem com (commercial – komercyjna) bądź też oznaczeniem państwa dla którego jest przeznaczona aplikacja.

 

 

Struktura projektu jest następująca:

 

 

W folderze src zachowane są wszystkie paczki oraz klasy, które kodujemy. Cały kod aplikacji będzie się tam znajdował.

Folder gen przechowuje plik R.java, jest to plik, którego nie powinniśmy edytować. Jest on tworzony przez środowisko. Przechowuje on adresy (referencje) do wszystkich elementów aplikacji. Dzięki niemu system wie, jak zarządzać aplikacją.

Dodatkowo jak widzicie przechowywane są tutaj również wszystkie biblioteki powiązane z daną wersją Androida.

Folder assets przygotowany jest do przechowywania plików z których będzie korzystać Nasza aplikacja.

W folderze bin dostępne są wszystkie pliki tworzone w procesie kompilacji, między innymi plik *.apk zawierający gotową aplikację.

Folder res odpowiedzialny jest za przechowywanie zasobów naszej aplikacji. Zasobami mogą być elementy graficzne, animacje, gradienty, układy, czy też dodatkowe pliki *.xml (definiujący np. menu, czy też właśnie animacje), czy też przechowujące dane.

Dodatkowo mamy pliki odpowiedzialne za konfigurację, jednak interesuje nas jedynie plik AndroidManifest.xml (jak już wcześniej wspominałem).

 

Ostatnim krokiem w dzisiejszym Mieście programistów będzie kompilacja aplikacji. Możemy do tego wykorzystać telefon (do czego zdecydowanie zachęcam) lub emulator, który jest wolny i nieraz przekłamuje. Najpierw zdefiniujemy emulator. Wchodzimy w Window -> AVD Manager i klikamy przycisk New. Oto przykładowa konfiguracja maszyny wirtualnej:

 

 

Następnie klikamy na paczkę i:

 

 

Powinien uruchomić się emulator, czekamy cierpliwie i cieszymy się pierwszą aplikacją na Androida! Jeżeli chcecie uruchomić ją na telefonie, wystarczy przed tym krokiem podłączyć telefon w tryb debuggowania i wybrać go.

Jak zauważyliście, kazałem kliknąć wam na paczkę, zrobiłem to dlatego, ponieważ Eclipse kompiluje zawsze oznaczony plik, jeżeli zaznaczymy na przykład plik Manifestu, to po skompilowaniu dostaniemy wyjściowy plik *.xml, który posypie nam projekt.

Uważajcie na to i bawcie się dobrze!

Źródło: własne

Motyw