Android został stworzony przy użyciu języka C i zbudowany na jądrze Linuxa, a dodatki (czyli biblioteki i narzędzia) zostały napisane w Javie.
Ale czego używać do tworzenia aplikacji na Androida?
Niekwestionowanym liderem wg mnie jest IntelliJ IDEA firmy JetBrains. To doskonałe narzędzie do pisania kodu, którego też używam m.in. w programowaniu w języku Java. Jego darmowa wersja wspiera tworzenie aplikacji na androida, jednak jeżeli będziemy chcieli napisać taką aplikację przy użyciu HTML, JS i CSS to pozostaje nam wykupienie płatnej wersji (co jest doskonałą inwestycją w przyszłość). W celu pisania aplikacji na Androida przy pomocy IntelliJ należy dodatkowo pobrać i skonfigurować Android SDK.
Jeżeli jeszcze nie stać nas na płatną licencję IntelliJ lub chcemy stworzyć aplikację tylko na Androida, możemy skorzystać z darmowego narzędzia, jakim jest AndroidStudio. Został on dostosowany przez Google tak, aby służył właśnie temu.
Będziemy korzystali właśnie z tego ostatniego rozwiązania, czyli AndroidStudio.
W jakim języku programować na platformę Android?
Do tworzenia aplikacji mobilnych na Androida zwykło się używać:
- XML do tworzenia UI – User Interface – język ten pozwala szybko i łatwo tworzyć oraz modyfikować wygląd naszej aplikacji np. w AndroidStudio. Układ kodu jest przejrzysty i pozwala od razu zobaczyć zmiany, bez konieczności kompilowania i uruchamiania kodu po każdej zmianie.
- JAVA do tworzenia warstwy logicznej
- SQLite do obsługi baz danych
Ten dobór języków jest rekomendowany przez Google.
Oczywiście można użyć innych języków i aplikacji np.
- HTML, JS i CSS tworząc aplikację w PhoneGap
- C# tworząc aplikację w Xamarin
- za pomocą silnika Unity w JS, C#
- za pomocą silnika Unreal w C++
Warto dodatkowo skorzystać z narzędzi np. processing – do tworzenia wizualizacji graficznych i dźwiękowych oraz takich dostosowanych do VR.
Wygląd aplikacji – rekomendacje Google
Jednym z trendów projektowania aplikacji mobilnych jest Googlowski Material Design dostępny pod adresem: material.io.
Główną zasadą projektowania aplikacji jest to, że każdy element ma dokładnie przypisane miejsce w 3-warstwowej hierarchii.
Zasady te opisują jak aplikacja powinna wyglądać oraz jak powinna się zachowywać, a Material Design to coś więcej niż styl, to swoisty język w którym porozumiewają się poszczególne elementy tworzące naszą aplikację.
Na stronie Materials Design znajdziemy wiele przydatnych materiałów, zachęcam do zapoznania się z jej treścią. Znajdziecie tam podpowiedzi ad planowania UI, doboru kolorów elementów, czcionki i wiele innych.
Gdzie szukać pomocy?
Najważniejszą zdolnością jaką powinien posiadać każdy człowiek, nie tylko programista, jest umiejętność wyszukiwania informacji. Żadne źródło internetowe nie jest wyczerpującym opracowaniem danego problemu. Należy umiejętnie korzystać z wielu źródeł równolegle. Często nie wystarczy sama dokumentacja języka, dlatego też zalecam korzystanie z platformy StackOverflow, w3schools, Google i innych, na których znajdziemy rozwiązania.
Przykładem problemu na jaki możemy natrafić jest atrybut android:fontFamily, w dokumentacji nie znajdziemy informacji nt możliwych czcionek do wykorzystania, ale na stackoverflow już tak.
Środowisko pracy
Zanim przejdziemy do AndroidStudio zainstalować należy środowisko JDK, instrukcję i opis znajdziesz w tym materiale oraz edytor kodu np. SublimeText, czy inny w którym lubisz pracować.
Zainstaluj teraz kolejno JDK wg powyższej instrukcji, następnie AndroidStudio oraz preferowany edytor kodu.
Na koniec będziemy musieli zainstalować sterownik USB, by móc testować aplikacje na urządzeniu mobilnym, ale to później.
AndroidStudio
Zakładam, że znacie już podstawy Javy (jeżeli nie, niestety od tego musicie zacząć). Zakładam również, że pracowaliście w edytorze IntelliJ (darmowy kurs obsługi programu), ułatwi to bardzo pracę, ponieważ AndroidStudio to zmodyfikowany IntelliJ.








WSTAWIĆ FILMIK Z NAGRANYM OPISEM UI PROGRAMU
Opisać szczegółowo lewy panel z widokiem naszego projektu
Gradle Scripts – system budowania aplikacji. Jeżeli kończymy pracę nad projektem i chcemy przystąpić do publikacji apki w sklepie, to właśnie Gradle zbiera nasz projekt w całość, w format „apk”.
app – drzewo ze składowymi naszego projektu, a w nim:
- manifests – zawierający plik o nazwie AndroidManifest.xml – zawiera podstawowe informacje dla Androida, bez tego nie uruchomimy aplikacji. Każda aplikacja musi zawierać ten plik o niezmienionej nazwie.
- java – zawiera kody źródłowe javy, główny plik aplikacji to MainActivity. Logika aplikacji.
Przeanalizujmy linijka po linijce zawartość tego pliku na starcie:
package com.example.test;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
package com.example.test; – jest to nazwa naszego pakietu
import… – importujemy klasy, których metody/funkcjonalności będziemy wykorzystywać
public class MainActivity extends AppCompatActivity { – klasa MainActivity, która dziedziczy po AppCompatActivity , klasie posiadającej więcej opcji niż Activity
@Override – to słówko oznacza, że coś nadpisujemy, a konkretnie metodę onCreate
protected void onCreate(Bundle savedInstanceState) { – metoda wywoływana podczas uruchamiania aktywności, która w argumencie posiada obiekt typu Bundle, służą one do przesyłania danych między aktywnościami. Metoda onCreate jest równoznaczna z klasą Main w Javie, a Bundle z String[] args.
super.onCreate(savedInstanceState); – wywołujemy metodę onCreate z pierwotnej deklaracji
setContentView(R.layout.activity_main); – tworzy i wyświetla na ekranie zdefiniowany przez nas rozkład (activity_main).
- res – czyli zasoby, znajdują się w nim m.in w drawable – dla grafik, mipmap – dla ikon, layout – rozkłady aplikacji, values – kolory, tablice, style
Przydatne strony:
- https://www.android.com/
- https://developer.android.com/guide
- słownik z wizualnym objaśnieniem
- https://developer.android.com/
- https://blog.google/products/android/
- https://stackoverflow.com/
- https://material.io/
- narzędzia do wyboru kolorów