Kurs Android (3)

Autor: Damian Chodorek • Opublikowany: 3 lutego 2015 • Ostatnia aktualizacja: 8 lutego 2015 • Kategoria: android, kursy

Struktura projektu. Podstawy Genymotion.

W tym artykule dowiesz się jakie znaczenie mają poszczególne foldery projektu. Nauczysz się także jak obsługiwać Genymotion.

Znaczenie katalogów

W Eclipse utwórz nowy projekt tak jak pokazałem Ci w poprzednim artykule. Po lewej stronie powinieneś w zakładce Package Explorer zobaczyć strukturę katalogów podobną do poniższego obrazka.

Poniżej opisałem przeznaczenie folderów i plików, które są najczęściej używane podczas tworzenia aplikacji.

  • src – tutaj będą znajdować się pliki źródłowe Javy wraz z pakietami,
  • assets – folder, w którym umieścisz wszelkie dane binarne, np. grafiki; podczas nauki nie będziemy z niego korzystać,
  • res – folder, który zawiera przede wszystkim pliki XML’owe opisujące GUI aplikacji oraz przechowujące wartości stałych w celu zapobiegnięcia ich hardkodowania; w folderze także znajdują się grafiki, ale będą traktowane specjalnie przez środowisko (w przeciwieństwie do folderu assets),
  • AndroidManifest.xml – bardzo ważny plik, w którym znajdują się deklaracje komponentów, z których będziemy korzystać.

Katalog res

Temu katalogowi należy poświęcić szczególną uwagę. Rozwiń go. Twoim oczom ukaże się więcej folderów. Poniżej ich skrótowy opis.

  • drawable-xxx – zamiast xxx jest hdpi, ldpi, mdpi itd. W tych katalogach znajdują się grafiki dla poszczególnych rozmiarów ekranów. Środowisko samo wybiera, z którego folderu będzie korzystać. Przykładowo dla urządzeń o niskich rozdzielczościach załadowana zostanie grafika (np. ikonka aplikacji) z folderu ldpi.
  • layout – zawiera XML’owy opis GUI Twojej aplikacji. Najczęściej aplikacja składa się z wielu okien. W folderze layout znajdują się layouty dla każdego z nich. Domyślnie, po utworzeniu nowego projektu, zostanie utworzony plik main.xml lub activity_main.xml. To właśnie wygląd aplikacji Hello World, którą widzisz po uruchomieniu na emulatorze.
  • menu – katalog zawiera XML’owy opis pozycji menu dla poszczególnych okien.
  • values – w folderze znajdują się wartości stałych, przykładowo definicje kolorów, wartości pól tekstowych. Wszystko po to, aby nie pisać ich bezpośrednio w kodzie Javy (hardkodować).

Znaczenia pozostałych katalogów, pakietów, bibliotek i plików nie musisz na razie znać. Celem kursu jest pomoc w zrozumieniu jak tworzyć aplikację, a nie wdawanie się w szczegóły, które na początku nie mają znaczenia, a tylko zaprzątają głowę.

W Eclipse dostępny jest graficzny edytor layoutów. Jeżeli otworzysz plik res/layout/main.xml (lub activity_main.xml), a następnie klikniesz Graphical Layout, to będziesz mógł projektować wygląd aplikacji w sposób graficzny. Podczas kursu nie będziemy się jednak tym zajmować. Zależy nam na zrozumieniu kodu, który się kryje za tą oprawą graficzną, ale to temat na inny artykuł.

Obsługa Genymotion

Uruchom Genymotion zgodnie z instrukcjami w poprzedniej lekcji.

Na obrazku powyżej zaznaczyłem trzy ważne rzeczy. Na czerwono zaznaczyłem małą strzałkę. Po jej kliknięciu rozwija się menu i dostępnych jest więcej przycisków.

Na zielono zaznaczyłem ikonę, która służy do zmiany orientacji ekranu. Dzięki niej możesz przełączać się z trybu portrait na landscape. Pozwala to testować wygląd Twojej aplikacji w różnych położeniach urządzenia.

Na niebiesko zaznaczyłem ikonę kamery. Dzięki niej możesz ustawić, aby emulator androida korzystał z kamery Twojego komputera i przechwytywał prawdziwy obraz. Domyślnie uruchamia się Dummy Camera, która generuje jakiś rysunek poruszający się po ekranie.

Myślę, że reszta ikonek jest intuicyjna i można domyśleć się jaka jest ich funkcjonalność.

Genymotion pozwala wygodnie obsługiwać aplikacje, które zostały zainstalowane. Zamiast korzystać z klawiatury Androida i klikać myszką w pojedyncze litery, możemy wpisywać tekst prosto z klawiatury naszego komputera. Mamy możliwość scrollowania kółkiem myszy i przełączania się pomiędzy polami typu input przy pomocy klawisza TAB.

część 4

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.