poniedziałek, 10 lutego 2014

Struktura katalogów w aplikacji


Przyjrzyjmy się zawartości katalogów naszej aplikacji.
Katalog src zawiera klasy które będziemy tworzyć do obsługi działania naszego programu, przykładowo klasy aktywności.
Katalog gen zawiera elementy wynegerowane przez kompilator. Położenie elementów określamy w plikach Xml, zasoby typu obrazki czy dźwięki będziemy wrzucać jako pliki. Program po skompilowaniu nie będzie zawierał tych elementów w postaci plików takich jakie wrzucimy, a pod postacią pliku R.java który jest zrozumiały dla środowiska uruchomieniowego. Generalnie zawartości tego katalogu nie powinniśmy modyfikować.
Katalog bin zawiera skompilowane klasy i naszą aplikację w postaci gotowego archiwum aplikacji – apk. Zawartości tego katalogu też nie ruszamy.
Katalog libs zawiera niezbędne do działania programu biblioteki. Możemy tam wrzucić np. jary google maps jeśli będziemy z nich korzystać.
Katalog res (od resources) wszystkie statyczne zasoby – obrazki, pliki dźwiękowe, video etc.
Widzimy też „wolno leżący” plik AndroidManifest.xml w którym znajdują się ustawienia takie jak określenie która aktywność (ekran) jest głowna, własności całej aplikacji jako takiej (typu ikonka etc), uprawnienia jakie są wymagane przez program (np. do korzystania z internetu czy odbiornika GPS).


Przyjrzyjmy się jeszcze zawartości katalogu res. Cokolwiek wrzucisz do tego katalogu, stanie się do zasobem widocznym i dostępnym z dowolnego miejsca aplikacji. To właśnie tutaj powinny trafić wszystkie obrazki, filmiki etc. Katalogi drawable-xxxxx są przeznaczone na obrazki. Jest ich kilka bo możemy mieć kilka wersji tego samego obrazka dla różnych rozdzielczości. Nazwy są dosyć intuicyjne – do katalogu drawable-ldpi wrzucamy obrazki przeznaczone dla małych rozdzielczości - low dot per inch. Do drawable-hdpi wrzucamy obrazki przeznaczone dla dużych rozdzielczości - high dot per inch. W katalogu layout mamy pliki xml określające wygląd poszczególnych aktywności. W katalogu menu mamy pliki określające wygląd menu na różnych ekranach.

 
W katalgou values mamy np. plik strings.xml. Tutaj określamy wszelkie napisy które pojawiają się w aplikacji. Napisy takie można oczywiście ustawiać i w kodzie javy, jednak jeśli będziemy je umieszczać w tym pliku, będzie nam łatwiej później zarządzać napisami mając je w jednym miejscu. Przechowywanie napisów w osobnym pliku XML ma szczególne znaczenie dla wygody późniejszej internacjonalizacji programu.




9 komentarzy:

  1. Jak wejśćw katalogi?

    OdpowiedzUsuń
  2. W najnowszej wersji programu Eclipse nie widać tych katalogów. Tak samo jak nie można było zrobić programu "Android Virtual Device Menager" ponieważ w zakładce Window nie było takiej funkcji. Zakładka Window kończyła swoje możliwości na funkcji Preferences. Polecam na przyszłość napisać do jakiej wersji programu robiony jest poradnik, żeby nie było tego typu niedociągnięć.

    OdpowiedzUsuń
    Odpowiedzi
    1. Niestety to może u Ciebie coś nie tak.
      Najnowsza wersja i także bez zarzutu.
      Może gdzie indziej problem?

      Usuń
    2. Strasznie roszczeniowi jesteście. Polecasz autorowi "na przyszłość"? Na przyszłość to co najwyżej skorzystaj z innego tutorialu, a nie trujesz dupę. Jakoś u mnie wszystko działa, mało tego korzystam z linuxa i też bez problemu informacje tu zawarte + trochę chęci można wszystko ogarnąć

      Usuń
  3. @up Wszystko działa, poradniki są super, łatwe do zrozumienia gratulacje, ślędzę Pana przede wszystkim na Oracle'u ;)

    OdpowiedzUsuń
  4. fajnie,że chciało się Panu coś takiego napisać. Przeczytałem już poradniki odnośnie Oracle, a teraz ten. Dzięki

    OdpowiedzUsuń
  5. Ja równieź dziękuję. Kawał dobrej roboty.

    OdpowiedzUsuń
  6. Andrew!
    Bardzo jestem wdzięczny, że dzielisz się swoją ogromną wiedzą. Dobrze, że są tacy ludzie jak Ty!
    Mam pewien problem z Android Studio 2.2.2.0, otóż ściągając go na Windows, nie znalazłem pliku eclipse. Sam Android Studio poprowadził mnie przez instalacje, ale eclipse'a nie widziałem :/ Da się pracować bez eclipse?

    OdpowiedzUsuń