Blog: Jezyki programowania i srodowiska programistyczne | Java

Aplikacje Java na platformę Android OS

Aplikacje Java na platformę Android OS
  • 1 325 views

Android OS to stworzony i rozwijany przez koncern Google otwarty system operacyjny dla urządzeń mobilnych.

Udostępnij!

Android OS to oparty na Linuksie system, któy zawiera dedykowaną wersję wirtualnej maszyny Java DVM (Dalvik Virtual Machine), co pozwala na uruchamianie aplikacji napisanych w języku Java. DVM jest zaprogramowana tak, by działać na urządzeniach przenośnych o ograniczonych zasobach – z wolnym procesorem (CPU), małą ilością pamięci RAM, bez stronicowania pamięci i o ograniczonym czasie życia baterii.

Struktura aplikacji na Androida

Aplikacje na system Android składają z komponentów powiązanych ze sobą w luźny sposób

  • Aktywności (activities) oznaczają warstwę wizualną aplikacji oraz dołączone do niej funkcjonalności. Dana aktywność reprezentuje pojedynczy ekran zawierający interfejs użytkownika, tak więc jedna aplikacja może zawierać wiele wywołujących się nawzajem aktywności. Aplikacje mogą również uruchamiać aktywności zawarte w innych aplikacjach – pod warunkiem, że mają odpowiednie zezwolenia.
  • Usługi (services), w przeciwieństwie do aktywności, nie posiadają reprezentacji graficznej. Działają one w tle i wykonują czasochłonne zadania lub operacje na rzecz zdalnych procesów, np. pobierają pliki z Sieci i aktualizują źródła danych, wysyłają powiadomienia,itd.
  • Dostawcy treści (content providers) to komponenty służące do udostępniania i współdzielenia danych pomiędzy aplikacjami. Pracują one w podobny sposób do relacyjnych baz danych – informacje są udostępniane w formie struktur przypominających tabele baz danych.
  • Odbiorniki komunikatów (broadcast receivers) umożliwiają tworzenie aplikacji sterowanych zdarzeniami (event-driven applications). Nie wyświetlają interfejsu użytkownika, ale mogą tworzyć komunikaty na pasku powiadomień, informujące np. o otrzymaniu wiadomości lub zakończeniu pobierania pliku. Dzieje się to w skutek aktywowania przez system lub inne aplikacje.

Intencje i zasoby

Każda aplikacja w Androidzie uruchamiana jest jako oddzielny proces, dlatego komponenty nie mogą bezpośrednio włączać innych komponentów. Sposobem na taką aktywację innego komponentu jest wysłanie przez aplikację do systemu specjalnego komunikatu zwanego intencją (intent). Informacje o roli i strukturze danej aplikacji są z kolei zawarte w pliku AndroidManifest.xml.

Tworząc oprogramowanie na Androida należy mieć świadomość, że system może w każdej chwili zamknąć aplikację np. w przypadku braku wolnych zasobów. Ponieważ aplikacje mają ograniczony wpływ na swój cykl życia, ważne jest zadbanie o mechanizmy zapisujące stan wprowadzonych danych, tak by użytkownik ich nie tracił.

Istotną rolę w architekturze systemu Android odgrywają również zasoby, czyli mechanizm umożliwiający zapisanie elementów niezawierających kodu aplikacji, takich jak teksty, definicje kolorów, grafika czy style interfejsu. Zasoby mogą mieć formę tekstową lub binarną i znajdują się w podkatalogach folderu /res.Dzięki takiemu rozwiązaniu możliwe jest zapisanie wielu konfiguracji aplikacji zależnych czynników typu rozmiar i orientacja ekranu czy język systemu.

Cykl życia aktywności

Aktywności odpowiadają pojedynczym ekranom, poprzez które użytkownicy mogą komunikować się z aplikacją. Gdy aktywność pojawia się na ekranie, rozpoczyna się jej cykl życia złożony z sześciu faz. Aktywność tworzymy poprzez rozszerzenie klasy android.app.Activity oraz nadpisanie wybranych metod zwrotnych.

 

Pełne omówienie wszystkich etapów tworzenia aplikacji Java na Androida w niniejszym tutorialu

Pobierz plik z projektem prezentowanej aplikacji z kalkulatorem Java

Sprawdź szkolenia z Javy:

Tworzenie aplikacji Java na platformę Android

Aplikacje internetowe w języku Java

Programowanie w języku Java