Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015



Podobne dokumenty
Android. Hierarchie widoków i ich wy±wietlanie. Piotr Fulma«ski. March 14, 2016

AndroidManifest.xml. Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty.

Android. Zarz dzanie cyklem»ycia i stanem. Piotr Fulma«ski. March 10, 2015

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

akademia androida Pierwsze kroki w Androidzie część I

akademia androida Service, BroadcastReceiver, ContentProvider część IV

Systemy operacyjne na platformach mobilnych

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Systemy operacyjne na platformach mobilnych

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Systemy operacyjne na platformach mobilnych

Laboratorium Systemów Mobilnych. Wykład 1

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Baza danych - Access. 2 Budowa bazy danych

Lekcja 6 Programowanie - Zaawansowane

Wsparcie dla różnych urządzeń. SDK pozwala przystosować aplikację do większości tych wypadków

Android, wprowadzenie do SDK

Tworzenie wydajnych interfejsów. Autorzy: Piotr Michałkiewicz, 2 rok AiR Daniel Maksymow, 2 rok Informatyki

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

Android tworzenie aplikacji mobilnych

Programowanie i struktury danych

Podstawy modelowania w j zyku UML

Obsługa SMS i telefonii

Android poradnik programisty

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Laboratorium 9 (Więcej Aktywności, w Androidzie)

1. Wprowadzenie do C/C++

Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Layouty. Kilka layoutów

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Koªo Naukowe Robotyków KoNaR. Plan prezentacji. Wst p Rezystory Potencjomerty Kondensatory Podsumowanie

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Tworzenie aplikacji webowych w oparciu o framework ObjectLedge

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Subversion - jak dziaªa

Wzorce projektowe strukturalne cz. 1

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

[Android] Podstawy programowania

Model obiektu w JavaScript

Listy i operacje pytania

Technologia Programowania 2016/2017 Wykªad 13 Android. Jakub Lemiesz

Powiadomienia w systemie Android

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Programowanie dla Androida. Ubiquitous

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

1 Intefejsy graczne. 1.1 Okienka. 1.2 Komponenty

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Lekcja 9 Liczby losowe, zmienne, staªe

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

1. Wprowadzenie do C/C++

Lekcja 3 Banki i nowe przedmioty

Wzorce projektowe kreacyjne

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia

SpedCust 5 instrukcja instalacji

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Szkolenie Android dla początkujących

Wstawianie gotowych rysunków w texu - informacje podstawowe.

Podstawowe elementy GUI cz. 2 i 3 - zadania

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

WSTĘP DO ANDROIDA. Laboratorium

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

PERSON Kraków

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

Podstawy modelowania w j zyku UML

Charakterystyka systemów plików

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10

Programowanie urządzeń mobilnych

PROGRAMOWANIE MOBILNE: ANDROID. Marcin Luckner

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Agenda. Implicit intents Wyświetlanie obrazków Menu Ikona aplikacji Praca z kolekcjami i ListView Własny widok

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Programowanie usług działających w tle

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Lekcja 12 - POMOCNICY

Filozoa Clojure. Mateusz Dereniowski. 15 lipca Instytut Informatyki Uniwersytetu Wrocªawskiego

Zarz dzanie rm. Zasada 2: samoorganizuj ce si zespoªy. Piotr Fulma«ski. March 17, 2015

Praca Dyplomowa Magisterska

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

Technologie Informacyjne

Mobilne aplikacje multimedialne

WFiIS Imi i nazwisko: Rok: Zespóª: Nr wiczenia: Fizyka Dominik Przyborowski IV 5 22 J drowa Katarzyna Wolska

Laboratorium Systemów Mobilnych. Wykład 2

Wewnątrzszkolny system kształcenia PLAN WYNIKOWY

Stacjonarne Wszystkie Katedra Inżynierii Produkcji dr Sławomir Luściński. Kierunkowy Nieobowiązkowy Polski Semestr trzeci. Semestr zimowy Brak Tak

Transkrypt:

Android Podstawy tworzenia aplikacji Piotr Fulma«ski Instytut Nauk Ekonomicznych i Informatyki, Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku, Polska March 4, 2015

Table of contents

Framework Jednym z najwarto±ciowszych aspektów platform takich jak Android jest framework aplikacji. Przede wszystkim zapewnia on istnienie pewnej wspólnej dla wszystkich aplikacji struktury, w któr mo»na je wpasowa. Korzystanie z frameworków to jak przyj cie umowy. Je±li umie±cimy nasze pliki w odpowiednich miejscach, framework wykorzysta te pliki w znany jemu, okre±lony sposób. Otrzymujemy w ten sposób pewien schemat, którym mo»emy si posªugiwa. Wówczas wiele szablonowych zada«wykonywanych jest za programist, który dzi ki temu mo»e skoncentrowa si na aplikacji a nie na pewnych powtarzalnych detalach (które cz sto wcale takimi detalami nie s ).

Framework Typowe elementy struktury projektu app/src/main/res/layout/activity_my.xml /drawable<density>/ /layout/ /menu/ /values/ app/src/main/java/com.mycompany.myfirstapp/myactivity.java app/src/main/androidmanifest.xml

Podstawowe elementy aplikacji Aplikacje na Android obejmuj kilka podstawowych elementów. Aktywno± (obiekt klasy Activity ). Dziaªa na pierwszym planie. Zarz dza interfejsem u»ytkownika oraz obsªuguje zdarzenia i interakcje. Usªuga (obiekt klasy Service ). Dziaªa w tle. Mo»e obsªugiwa dªugotrwaªe zadania lub monitorowanie. Odbiornik (obiekt klasy BroadcastReceiver). Obejmuje metody obsªugi zdarze«uruchamiane przez rozpowszechniane zdarzenia (intencje) i reaguj ce na nie. Dostawca tre±ci (obiekt klasy ContentProvider). Umo»liwia udost pnianie innym aplikacjom interfejsu API do wymiany danych.

Podstawowe elementy aplikacji Aplikacje na Android obejmuj kilka podstawowych elementów. Aktywno± (obiekt klasy Activity ). Dziaªa na pierwszym planie. Zarz dza interfejsem u»ytkownika oraz obsªuguje zdarzenia i interakcje. Usªuga (obiekt klasy Service ). Dziaªa w tle. Mo»e obsªugiwa dªugotrwaªe zadania lub monitorowanie. Odbiornik (obiekt klasy BroadcastReceiver). Obejmuje metody obsªugi zdarze«uruchamiane przez rozpowszechniane zdarzenia (intencje) i reaguj ce na nie. Dostawca tre±ci (obiekt klasy ContentProvider). Umo»liwia udost pnianie innym aplikacjom interfejsu API do wymiany danych.

Podstawowe elementy aplikacji Aplikacje na Android obejmuj kilka podstawowych elementów. Aktywno± (obiekt klasy Activity ). Dziaªa na pierwszym planie. Zarz dza interfejsem u»ytkownika oraz obsªuguje zdarzenia i interakcje. Usªuga (obiekt klasy Service ). Dziaªa w tle. Mo»e obsªugiwa dªugotrwaªe zadania lub monitorowanie. Odbiornik (obiekt klasy BroadcastReceiver). Obejmuje metody obsªugi zdarze«uruchamiane przez rozpowszechniane zdarzenia (intencje) i reaguj ce na nie. Dostawca tre±ci (obiekt klasy ContentProvider). Umo»liwia udost pnianie innym aplikacjom interfejsu API do wymiany danych.

Podstawowe elementy aplikacji Aplikacje na Android obejmuj kilka podstawowych elementów. Aktywno± (obiekt klasy Activity ). Dziaªa na pierwszym planie. Zarz dza interfejsem u»ytkownika oraz obsªuguje zdarzenia i interakcje. Usªuga (obiekt klasy Service ). Dziaªa w tle. Mo»e obsªugiwa dªugotrwaªe zadania lub monitorowanie. Odbiornik (obiekt klasy BroadcastReceiver). Obejmuje metody obsªugi zdarze«uruchamiane przez rozpowszechniane zdarzenia (intencje) i reaguj ce na nie. Dostawca tre±ci (obiekt klasy ContentProvider). Umo»liwia udost pnianie innym aplikacjom interfejsu API do wymiany danych.

Komponenty ª cz ce Do tworzenia podstawowych elementów aplikacji i ich ª czenia sªu» dodatkowe komponenty. Widoki (obiekty klasy View). S to elementy interfejsu u»ytkownika wy±wietlane na ekranie. Ukªady (obiekty klasy Layout). S to hierarchie widoków kontroluj ce format i wygl d ekranu. Intencje (obiekty klasy Intent). S to komunikaty ª cz ce komponenty ze sob. Zasoby (obiekty klasy Resource). S to elementy zewn trzne, na przykªad ªa«cuchy znaków i obiekty graczne (obrazki). Manifest (obiekt klasy Manifest). Obejmuje konguracj aplikacji.

Komponenty ª cz ce Do tworzenia podstawowych elementów aplikacji i ich ª czenia sªu» dodatkowe komponenty. Widoki (obiekty klasy View). S to elementy interfejsu u»ytkownika wy±wietlane na ekranie. Ukªady (obiekty klasy Layout). S to hierarchie widoków kontroluj ce format i wygl d ekranu. Intencje (obiekty klasy Intent). S to komunikaty ª cz ce komponenty ze sob. Zasoby (obiekty klasy Resource). S to elementy zewn trzne, na przykªad ªa«cuchy znaków i obiekty graczne (obrazki). Manifest (obiekt klasy Manifest). Obejmuje konguracj aplikacji.

Komponenty ª cz ce Do tworzenia podstawowych elementów aplikacji i ich ª czenia sªu» dodatkowe komponenty. Widoki (obiekty klasy View). S to elementy interfejsu u»ytkownika wy±wietlane na ekranie. Ukªady (obiekty klasy Layout). S to hierarchie widoków kontroluj ce format i wygl d ekranu. Intencje (obiekty klasy Intent). S to komunikaty ª cz ce komponenty ze sob. Zasoby (obiekty klasy Resource). S to elementy zewn trzne, na przykªad ªa«cuchy znaków i obiekty graczne (obrazki). Manifest (obiekt klasy Manifest). Obejmuje konguracj aplikacji.

Komponenty ª cz ce Do tworzenia podstawowych elementów aplikacji i ich ª czenia sªu» dodatkowe komponenty. Widoki (obiekty klasy View). S to elementy interfejsu u»ytkownika wy±wietlane na ekranie. Ukªady (obiekty klasy Layout). S to hierarchie widoków kontroluj ce format i wygl d ekranu. Intencje (obiekty klasy Intent). S to komunikaty ª cz ce komponenty ze sob. Zasoby (obiekty klasy Resource). S to elementy zewn trzne, na przykªad ªa«cuchy znaków i obiekty graczne (obrazki). Manifest (obiekt klasy Manifest). Obejmuje konguracj aplikacji.

Komponenty ª cz ce Do tworzenia podstawowych elementów aplikacji i ich ª czenia sªu» dodatkowe komponenty. Widoki (obiekty klasy View). S to elementy interfejsu u»ytkownika wy±wietlane na ekranie. Ukªady (obiekty klasy Layout). S to hierarchie widoków kontroluj ce format i wygl d ekranu. Intencje (obiekty klasy Intent). S to komunikaty ª cz ce komponenty ze sob. Zasoby (obiekty klasy Resource). S to elementy zewn trzne, na przykªad ªa«cuchy znaków i obiekty graczne (obrazki). Manifest (obiekt klasy Manifest). Obejmuje konguracj aplikacji.

Manifest Manifest to plik, w którym zdeniowane s relacje, mo»liwo±ci, uprawnienia i konguracja ka»dej aplikacji na Android. Manifest aplikacji jest punktem wyj±cia do tworzenia (uruchamiania) ka»dej aplikacji na Android. Pierwsz rzecz, jak wykonuje system operacyjny Androida podczas uruchamiania aplikacji jest wczytanie manifestu aplikacji poniewa» to manifest okre±la, które fragmenty kodu nale»y uruchomi. W ±wiecie Androida jednostkami pracy s aktywno±ci. W pliku manifestu aplikacji trzeba wskaza, która klasa aktywno±ci jest punktem wej±cia do aplikacji.

Listing 2.1. Plik manifestu AndroidManifest.xml aplikacji DealDroid <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.manning.aip.dealdroid" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/ddicon" android:label="@string/app_name" android:name=".dealdroidapp"> <activity android:name=".deallist" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".dealdetails" android:label="@string/deal_details" /> </application> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-sdk android:minsdkversion="4" /> </manifest> Manifest

Uprawnienia System uprawnie«androida opisuje wszystkie zadeklarowane w ten sposób zastrze»one operacje, a nast pnie wy±wietla je u»ytkownikowi, gdy jest instalowana aplikacja. Mo»na zadeklarowa takie operacje, jak odczyt lub zapis danych w systemie plików, odczyt lub zapis danych kontaktowych u»ytkownika, mo»liwo± wzbudzenia telefonu, dost p do sieci (internetu) itd. Znacznie rzadziej potrzebne jest deklarowanie i wymuszanie wªasnych niestandardowych uprawnie«, wykraczaj cych poza deklaracje systemowe. Je±li zachodzi potrzeba wykorzystania takich uprawnie«, mo»na je zadeklarowa w manife±cie i wymusza je w komponentach (aktywno±ciach, usªugach, odbiornikach rozpowszechnianych informacji itd.).

Zasoby Zasób to bardzo ogólne okre±lenie. Jako zasoby mo»na deniowa m.in menu, style, animacje, ksztaªty, tablice danych i inne elementy. Zasoby s deniowane przez umieszczanie plików w katalogu /res projektu. Nast pnie dost p do zasobów mo»na uzyska albo w kodzie, albo przez wskazywanie ich w plikach XML.

Zasoby - cechy Wszystkie elementy zadeklarowane w katalogu /res nie tylko s pakowane wraz z aplikacj, ale s te» programowo dost pne w kodzie aplikacji. Zasoby maj kilka kluczowych cech, o których warto pami ta : ka»dy zasób ma identykator; ka»dy zasób ma okre±lony typ; zasoby maj okre±lon lokalizacj i plik, w którym s zdeniowane.

Zasoby cechy Zasoby pozwalaj oddzieli kod od zewn trznych elementów, takich jak obrazki i ªa«cuchy znaków. Taki podziaª jest po»yteczny, poniewa» kod jest wtedy konkretny i przejrzysty. Zasoby s wydajne i szybkie. Zasoby w formacie XML s kompilowane na format binarny. Dzi ki temu s wygodne na etapie programowania i szybkie w czasie wykonywania programu. Zasoby umo»liwiaj obsªug dynamicznego ªadowania w trakcie wykonywania programu na podstawie ró»nych wªa±ciwo±ci ±rodowiskowych, takich jak j zyk, konguracja ekranu si mo»liwo±ci sprz towe.

Zasoby przykªad: napisy Przykªadowy plik zasobów res/values/strings.xml z warto±ciami nazwanych ªa«cuchów znaków <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">my First App</string> <string name="edit_message">enter a message</string> <string name="button_send">send</string> <string name="action_settings">settings</string> <string name="title_activity_main">mainactivity</string> </resources> Wszystkie ªa«cuchy znaków zdeniowane w pliku strings.xml s zapisane jako staªe w klasie R

Zasoby przykªad: ukªad ekranu Przykªadowy plik zasobów res/layout/activity_my.xml opisuj cy ukªad ekranu <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/edit_message" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" /> </LinearLayout>

Dost p do zasobów Zdeniowane zasoby mo»na wskazywa w kodzie lub w XML-u za pomoc odpowiednich identykatorów. Aby uzyska dost p do zasobu w kodzie, nale»y u»y zdeniowanego w klasie R identykatora, na przykªad R.string.deal_details do zasobu zdeniowanego przez nas lub android.r.string.yes do zasobu systemowego. Zwykle takie identykatory stosuje si w metodach klasy Resources: Resources.getString(R.string.deal_details). Aby uzyska dost p do zasobu w XML-u wystarczy poprzedzi identykator potrzebnego zasobu przedrostkiem @. Ša«cuch znaków deal_details mo»na wskaza tak: @string/deal_details a zasób systmowy tak: @android:string/yes.

Ukªad, widoki i kontrolki Ukªad to specjalny zasób, który sªu»y do projektowania ekranów, tworzenia pozycji na listach i innych elementów interfejsu u»ytkownika w Androidzie.

Aktywno±ci Aktywno± (klasa typu Activity) odpowiada jednej konkretnej rzeczy, jak u»ytkownik mo»e zrobi. Zwykle ka»dy ekran aplikacji jest deniowany za pomoc ukªadu i skªada si z widoków oraz kontrolek obsªugiwanych przez powi zan aktywno±. Ka»da aktywno± tworzy okno interfejsu u»ytkownika, zarz dza cyklem»ycia i stanem, stanowi punkt docelowy intencji, obsªuguje zdarzenia interfejsu, kontroluje menu itd.

Aktywno±ci podstawowe informacje Oto najcz ±ciej u»ywane metod aktywno±ci: Metoda oncreate. Wywoªywana przy tworzeniu obiektu klasy Activity. Metoda onpause. Wywoªywana przy odsuwaniu obiektu klasy Activity w tªo. Metoda onresume. Wywoªywana przy wznawianiu pracy obiektu klasy Activity dziaªaj cego w tle.

Adaptery Przekazywanie danych ze ¹ródªa do widoku odbywa si za po±rednictwem obiektu klasy Adapter. Jak wskazuje nazwa, klasa ta adaptuje okre±lone ¹ródªo danych, a tym samym pozwala podª cza ró»ne rodzaje ¹ródeª danych do widoku (obiektu klasy AdapterView), który nast pnie wy±wietla dane na ekranie.

Intencje i ltry intencji Jedn z wyj tkowych zalet Androida jest elastyczno± w zakresie komunikacji mi dzy komponentami i wymiany danych mi dzy nimi. Android umo»liwia to na podstawie zdarze«opartych na klasach Intent i IntentFilter. Platforma Androida ±ledzi wszystkie deklaracje IntentFilter dost pne w dziaªaj cym systemie, a nast pnie dynamicznie (w czasie wykonywania programu) ª czy zgªaszane intencje z najodpowiedniejszymi komponentami.

Podsumowanie Podstawowymi cegieªkami aplikacji na Android s manifest aplikacji, zasoby, ukªady, widoki, aktywno±ci i intencje. Manifest obejmuje konguracj aplikacji, a zasoby to przechowywane zewn trznie elementy (na przykªad ªa«cuchy znaków i rysunki). Kod pojawia si w aktywno±ciach, które pobieraj zasoby i ukªady. Ukªady to zbiory widoków porz dkuj ce interfejs u»ytkownika na ekranie lub w komponencie. Ukªady cz sto s zapisywane w formacie XML i przeksztaªcane na klasy w czasie wykonywania programu, co dodatkowo pomaga rozdziela elementy aplikacji. Aktywno±ci na podstawie widoków i kontrolek tworz wy±wietlane u»ytkownikowi elementy, z którymi mo»na wchodzi w interakcje. Intencje ª cz komponenty, a nawet ró»ne aplikacje.