:~$ newsletter --subscribe
cat ~/artykuly/mobile/pierwsza-aplikacja-w-android-studio.md

Pierwsza aplikacja w Android Studio

Rosnąca popularność systemu Android pociąga za sobą coraz większe rzesze developerów, którzy zajęli się tworzeniem aplikacji właśnie pod ten konkretny system operacyjny. Czy pisanie aplikacji na Androida to pisanie aplikacji mobilnych? Takie stwierdzenie jest trochę na wyrost i pomija fakt iż obecnie oprogramowanie Google’a odpowiada za działanie nie tylko smartphone’ów ale także tabletów czy też innych urządzeń (nawet pełnoprawnych komputerów). Warto o tym pamiętać gdyż tak naprawdę urządzenia mobilne to tylko jedna z największych części rynku zarządzanego przez korporację z Mountain View.

Fot: Uncalno Tekno, CC BY 2.0.
Fot: Uncalno Tekno, CC BY 2.0.

W tym artykule na początku naszej drogi z programowaniem Androida przyjrzymy się jak stworzyć prostą aplikację „Hello World” oraz zastanowimy się co tak naprawdę oznacza ta cała masa katalogów tworzonych przez IDE w naszym dość prostym projekcie. Do dzieła!

Aktualizacja (2026): ten poradnik powstał w 2016 r. Aktualne wersje Android Studio różnią się wyglądem kreatora projektu, a Google rekomenduje dziś Kotlin jako preferowany język do tworzenia aplikacji na Androida (Java pozostaje wspierana). Opisana niżej struktura projektu (manifest, katalogi zasobów, pliki Gradle) jest w dużej mierze wciąż aktualna.

UWAGA: Przed rozpoczęciem czytania dalszej części tego artykułu zainstaluj najnowszą wersję Android Studio: www.developer.android.com/sdk/index.html.

Nowy projekt w Android Studio

Na początku uruchamiamy Android Studio oraz wybieramy przycisk „Start a new Android Studio project” – tym sposobem uruchomimy kreator tworzenia nowego projektu:

nowy-projekt-android-studio-1

Wprowadzamy nazwę aplikacji w polu „Application name”, na przykład „MojaPierwszaAplikacja” oraz podajemy nazwę pakietu (Company Domain) może to być twoje imię i nazwisko lub po prostu słowo „android” jak w moim przypadku:

nowy-projekt-android-studio-2

W kolejnym kroku wybieramy wersję Android SDK jakiej będziemy używać przy pisaniu naszej aplikacji. Zazwyczaj polecam wybierać tą najpopularniejszą czyli na moment pracy nad tym artykułem Androida 5.0 Lollipop, nic jednak nie stoi na przeszkodzie, aby wybrać Androida 2.3 lub też najnowszą propozycję Google. Należy jednak pamiętać, że w starszych wersjach SDK będziemy bardzo ograniczeni w możliwościach skorzystania z dostępnych w nowszych wersjach funkcji. Jeśli macie jakieś wątpliwości zachęcam do zapoznania się z artykułem na ten temat w „manualu” Androida (www.developer.android.com/guide/topics/manifest/uses-sdk-element.html, j. angielski).

nowy-projekt-android-studio-3

Następnie zostajemy poproszeni o wybór szablonu naszej aktywności (na ten temat szerzej będę pisał w kolejnych artykułach), na razie wybieramy „Blank Activity” i przechodzimy dalej…

nowy-projekt-android-studio-4

Podajemy nazwę naszej aktywności na przykład „MainActivity” (główna aktywność), nazwę pliku z layoutem itd. (polecam zostawić domyślne wartości). Kiedy już wszystko wypełnimy przechodzimy do następnego kroku czyli klikamy przycisk „Finish” – Android Studio automatycznie utworzy nam projekt.

nowy-projekt-android-studio-5

Gratulacje, twój pierwszy projekt został właśnie utworzony:

nowy-projekt-android-studio-6

Mamy już utworzony pierwszy projekt w Android Studio. Naszą prostą automatycznie wygenerowaną aplikację „Hello World” możemy również uruchomić na telefonie z Androidem (uprzednio włączając tryb developerski) bądź po prostu przy pomocy wbudowanego w Android Studio emulatora.

Pora więc zapoznać się ze strukturą wszystkich plików…

Struktura katalogów i plików

Zanim jednak zaczniemy dalszą zabawę z tworzeniem aplikacji na Androida zwróćmy uwagę na lewą część IDE gdzie znajduje się cała lista różnych dziwnych katalogów i plików:

android-studio-lista-plikow-projektu

Aplikacja działająca pod systemem Android składa się z wielu składników, plików z kodem Java, xml odpowiedzialnych między innymi za layout, ikon itd. Przyjrzymy się więc im dokładnie.

APP

manifests

AndroidManifest.xml

Manifest – Plik sterujący który zawiera informacje o charakterze aplikacji oraz każdym jej komponencie. Głównie manifest wykorzystywany jest do zapisywania informacji na temat uprawnień, poszczególnych aktywności (Activities), zarejestrowanych w systemie broadcast receivers czy też informacji na temat wykorzystywanej wersji API.

Więcej informacji na temat manifestu znajduje się w manualu (j. ang.): www.developer.android.com/guide/topics/manifest/manifest-intro.html.

java

W tym katalogu (a dokładnie w pierwszym podkatalogu) będziemy przechowywać wszystkie nasze pliki zawierające kod Javy. Będą to między innymi dodatkowe obiekty, a przede wszystkim klasy odpowiedzialne za generowanie layoutu poszczególnych aktywności.

res

Katalog z zasobami.

Więcej informacji na temat zasobów aplikacji znajduje się w manualu (j. ang.): www.developer.android.com/guide/topics/resources/index.html.

drawable

Katalog przeznaczony dla plików graficznych (PNG, JPEG, lub GIF) oraz xml’ów generujących graficzne elementy.

Więcej informacji na temat tych typów zasobów znajduje się w manualu (j. ang.): www.developer.android.com/guide/topics/resources/drawable-resource.html.

layout

Katalog przeznaczony na pliki xml odpowiadające za interfejs użytkownika w aplikacji (layout).

Więcej informacji na temat layoutów znajdziesz w manualu (j. ang.): www.developer.android.com/guide/topics/resources/layout-resource.html.

Katalog dla plików xml definiujących menu w aplikacji.

Więcej informacji na temat plików generujących menu znajdziesz w manualu (j. ang.): www.developer.android.com/guide/topics/resources/menu-resource.html.

mipmap

Katalog przeznaczony do przechowywania ikony aplikacji.

Więcej informacji na temat dodawania ikony aplikacji znajdziesz w manualu (j. ang.): www.developer.android.com/tools/projects/index.html#mipmap.

values

colors.xml

Plik w którym możemy zdefiniować kolory, które później możemy użyć w różnych miejscach aplikacji.

dimens.xml

Plik w którym definiujemy marginesy wykorzystywane w layoucie.

strings.xml

Bardzo ważny plik w którym definiujemy wszystkie rzeczy tekstowe jakie będą zawarte w interfejsie użytkownika. Dzięki temu w przyszłości łatwo będziemy mogli dorobić obsługę innych języków.

Gradle Scripts

build.gradle

Plik zawierający informacje dotyczące kompilacji aplikacji. Można go edytować aby dodać własne moduły, biblioteki czy też zdefiniować miejsce przechowywania kluczy. Jest on integralną częścią projektu.

gradle.properties

Ustawienia plików „Gradle” (skryptów budujących aplikację).

gradlew

Skrypt startowy „Gradle” dla Unixa.

gradlew.bat

Skrypt startowy „Gradle” dla Windowsa.

settings.gradle

Zawiera informacje o wszystkich pod-projektach jakie muszą zostać skompilowane przy kompilacji aplikacji.

Łukasz Dudziński
Łukasz Dudziński · założyciel i autor
Pasjonat informatyki, a zwłaszcza programowania. Zwariowany maniak na tle nowych technologii oraz komputerów. W wolnych chwilach bloger... więcej-o-mnie →
ls ~/artykuly/powiazane --limit 3
komentarze --count 8
rss dla komentarzy →
regoat2016-11-01 ·

tutorial jak stworzyc nowy projekt w androin studio. wow dzieki.

romek2018-03-02 ·

czy po ukończeniu tego poradnika bede jusz programistom?

lukas1242018-03-02 ·

Zależy jaką masz definicję programisty ;)

Lukas2020-08-07 ·

android studio to gówno, strasznie sie tnie. Na eclipse 100x lepiej sie pisało – szkoda ze spieprzyli coś, co dobrze działalo, bo juz nie ma pluginu i eclipse nie jest wspierany

Aderek2021-02-01 ·

No nie wiem, u mnie AS śmiga, emulator również.

Kamil2020-12-05 ·

Próbowałeś flutter z dart lub jetpack z kotlinem? Podobno to są przyszłościowe technologię pod nowoczesny system fuchsia os.

Łukasz Dudzińskiautor2020-12-06 ·

Hej Kamil, w najbliższym czasie możliwe, że trochę pobawię się Flutterem – jak by co to na pewno będzie wpis na blogu na ten temat :)

Ciec2024-10-29 ·

Chłopaki, a wy w czym najbardziej lubicie pisać?

dodaj-komentarz

Komentarze są moderowane. Podane dane przetwarzamy wyłącznie w celu publikacji komentarza (polityka prywatności).