1. Android – wstęp, historia, działanie


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: