Intencje nadawcze. Aktywności mogą rozsyłać komunikaty do wszystkich zainstalowanych aplikacji

Podobne dokumenty
Przechowywanie danych

Programowanie dla Androida. Ubiquitous

Programowanie dla Androida

Programowanie dla Androida. Ubiquitous

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

Programowanie usług działających w tle

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

akademia androida Składowanie danych część VI

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Szkolenie Android dla początkujących

akademia androida Http i AsyncTask część VII

Android poradnik programisty

Android - Kontakty. Łukasz Dudzioski

1.1. System otwartych baz danych ODBC. System otwartych baz danych ODBC. Interfejs ODBC. Interfejs ODBC. System otwartych baz danych ODBC

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

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

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

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

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

SUPLEMENT DO DYPLOMU

akademia androida Pierwsze kroki w Androidzie część I

Twoje potrzeby. Nasze rozwiązania.

Tworzenie aplikacji na platformie Android

Skrócona instrukcja obsługi programu Cisco ViewMail for Microsoft Outlook (wersja 8.5 i nowsze)

Mechanizmy pracy równoległej. Jarosław Kuchta

Database Connectivity

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:

Wykład 4. Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy. Bazy danych 2

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Rozpoczęcie pracy z programem.

Złośliwe oprogramowanie Sandrorat (podszywające się pod oprogramowanie Kaspersky) na platformę Android WYNIKI ANALIZY

Klient poczty elektronicznej - Thunderbird

Współpraca z platformą Emp@tia. dokumentacja techniczna

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

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

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S SMS SYSTEM

komunikator na platformę Android wspierający protokół GG

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Ustalanie dostępu do plików - Windows XP Home/Professional

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Instalacja programu Airwatch MDM Agent oraz klienta pocztowego Airwatch na telefonach Huawei P9/P9 Lite bez użycia konta Google

TIME MARKER. Podręcznik Użytkownika

Obsługa SMS i telefonii

Spis treści. S t r o n a 2

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

IIIIIIIIIIIIIIIMMIMMIII

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Baza danych sql. 1. Wprowadzenie

Symfonia Mała Księgowość 2013 Specyfikacja zmian

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Przewodnik połączenia (dla aparatu COOLPIX)

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

1. ROZPOCZYNANIE PRACY Z KOMPUTEREM

WSTĘP DO ANDROIDA. Laboratorium 2 Systemy i aplikacje bez granic

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Cele. Definiowanie wyzwalaczy

Instrukcja obsługi programu ProgT v1.10. ProgT v1.10.xx

Wiadomości. ZPKSoft Doradca. Wstęp.

Android i Bluetooth Low Energy. Laboratorium 4 Niestacjonarne

instrukcja obsługi RXCamView

Instalacja rozwiązania Uruchomienie rozwiązania w systemie Sage Konfiguracja dodatku Ustawienia dodatkowe rozwiązania...

akademia androida Intencje oraz URI część III

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Programowanie na poziomie sprzętu. Programowanie w Windows API

HELIOS pomoc społeczna

3G FL760 instrukcja instalacji

Android, wprowadzenie do SDK

Instrukcja obsługi Konfigurator MLAN-1000

Instrukcja użytkownika. Aplikacja dla WF-Mag

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Klient-Serwer Komunikacja przy pomocy gniazd

Wykład 5: PHP: praca z bazą danych MySQL

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Paweł Rajba

Oracle PL/SQL. Paweł Rajba.

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

System operacyjny MACH

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Kancelaria instalacja programu

Administracja i programowanie pod Microsoft SQL Server 2000

NARZĘDZIA WIZUALIZACJI

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Diagnostyka pamięci RAM

MagicInfo Express instrukcja obsługi

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Transkrypt:

Intencje nadawcze Aktywności mogą rozsyłać komunikaty do wszystkich zainstalowanych aplikacji Jeżeli aktywność chce otrzymywać komunikaty, musi się zarejestrować Do odbioru komunikatów musimy stworzyć klasę dziedziczącą po klasie BroadcastReceiver

Intencje nadawcze Są trzy rodzaje intencji nadawczych: zwykłe - po wysłaniu znikają stałe (sticky) - można je odczytać też później dwustronne (ordered) - umożliwiają przesłani danych do nadawcy komunikatu

Wątki Główny wątek aplikacji nie powinien wykonywać intensywnych obliczeniowo zadań Tylko główny wątek powinien wprost wchodzić w interakcję z interfejsem użytkownika Do tworzenie osobnego wątku można wykorzystać klasę AsyncTask Klasa AsyncTask jest klasą generyczną, zależną od 3 typów

Wątki Te 3 typy odpowiadają argumentom metod: doinbackground onprogressupdate onpostexecute Można użyć Void

Wątki Metoda onpreexecute() jest uruchamiana na początku w głównym wątku Główny kod nowego wątku powinien znajdować się w metodzie doinbackground() Metoda onprogressupdate() działa w głównym wątku i ma dostęp do UI Jest uruchamiana w momencie wywołania metody publishprogress() w asynchronicznym wątku Metoda onpostexecute() jest uruchamiana, gdy zakończy się działanie kodu z doinbackground() - działa w głównym wątku

Wątki W ten sposób może działać jeden wątek w tle Kolejne są kolejkowane i uruchamiane po zakończeniu aktywnego wątku Można uruchomić wątki równolegle wywołując metodę executeonexecutor() z klasy AsyncTask O tym, ile wątków może działać równolegle decyduje system w oparciu o liczbę rdzeni procesora

Usługi (Services) Długotrwałe operacje powinny być uruchamiane jako usługi Usługi uruchamiane są poprzez mechanizm intencji i są niezależne od uruchamiającej je aktywności Metody: startservice(), stopservice(), stopself()

Przechowywanie danych Aplikacja na Androidzie może zapisywać i odczytywać pliki Pliki mogą być prywatne dla aplikacji lub dostępne publicznie Można je zapisywać na urządzeniu lub na karcie pamięci

Bazy danych Domyślną bazą danych na Androidzie jest SQLite SQLite został napisany w 2000 r. Przez D. Richard a Hipp a w ramach kontraktu dla US Navy Kod został udostępniony na zasadzie Public Domain Jest to biblioteka napisana w C Realizuje większość funkcji standardu SQL-92 Najpopularniejszy DBMS na świecie www.sqlite.org. http://sqlitebrowser.org

SQLite Nie ma osobnego serwera, kod jest linkowany z aplikacją Metody do obsługi bazy danych są w Androidzie opakowane w klasy

SQLite - Cursor Klasa służąca do przeglądania wyników zapytania: close() - zamyka obiekt getcount() - podaje liczbę wierszy movetofirst() - skacze na początek movetolast() - skacze na koniec movetonext() - przesuwa się do następnego wiersza move( ) - skacze o zadaną liczbę wierszy get<typ>( ) - zwraca wartość z podanej kolumny jako podany typ (wersje getint(), getfloat(), )

SQLite - SQLiteDatabase Klasa zarządza całą bazą danych insert() - wstawia nowy wiersz delete() - usuwa wiersze z tabeli query() - uruchamia zapytanie i zwraca wyniki jako obiekt klasy Cursor exexsql() - umożliwia wywołanie polecenia SQL rawquery() - działa podobnie jak query()

SQLite - SQLiteOpenHelper Klasa zawierająca metody pomagające w zarządzaniu bazą: oncreate() - uruchamiana, gdy baza jest tworzona po raz pierwszy onupgrade() - uruchamiana, gdy aplikacja zawiera nowszą wersję bazy onopen() - uruchamiana w momencie otwarcia połączenia z bazą getreadabledatabase() - otwiera bazę tylko do odczyty getwritabledatabase() - otwiera bazę do odczyty/zapisu close() - zamyka połączenie z bazą

Dostawcy treści Domyślnie baza danych jest prywatne dla aplikacji Aplikację mogą sobie udostępniać dane korzystając z mechanizmu dostawców treści (Content Providers) Przykładem może być aplikacja Kontakty Dane są udostępniane w formie tabelarycznej (jak baza danych) lub jako łącze do pliku

Metody dostawcy treści oncreate() - uruchamiana w momencie inicalizacji query() - zewnętrzna aplikacja wywołuje tę metodę aby uzyskać dane insert() - jak wyżej, tylko wstawiamy nowe dane update() - do uaktualnienia danych delete() - usuwa dane gettype() - zwraca typ przechowywanych danych w formie MIME

Dostawcy treści Dostawca jest identyfikowany w systemie poprzez URI URI może też zawierać parametry danych do pobrania W komunikacji pośredniczy klasa ContentResolver, którą można uzyskać wywołując metodę getcontentresolver() Dostawca musi być zdefiniowany w manifeście - znacznik <provider> zawierający: android:authority - pełne URI dostawcy android:name - nazwa klasy, często taka sama

Storage Access Od Androida 4.4 zaimplementowano bibliotekę Storage Access Umożliwia ona dostęp do kompatybilnych systemów chmurowych, np. Google Drive i Box Mechanizm działa na zasadzie intencji i wywoływania aktywności współpracującej z SA (tzw. Picker)

Uprawnienia aplikacji Do wersji 6 Androida wszystkie uprawnienia były ustawiane w manifeście aplikacji Od wersji 6 uprawnienia są dzielone na zwykłe (zatwierdzane w momencie instalacji) i niebezpieczne (zatwierdzane w czasie działania kodu) Niebezpieczne potwierdza użytkownik w oknie dialogowym

Niebezpieczne uprawnienia GRUPA Kalendarz Kamera Kontakty Lokacja Mikrofon Telefon Czujniki Telefon - wiadomości Przechowywanie danych UPRAWNIENIA odczyt, zapis CAMERA odczyt, zapis, GET_CONTACTS dokładna i przybliżona nagrywanie audio odczyt stanu, połączenie, rejestr połączeń, poczta głosowa, połączenia wychodzące BODY_SENSORS SMS, wyślij, odbierz, czytaj, MMS, WAP_PUSH odczyt i zapis z zewnętrznego źródła

Uprawnienia Aplikacja zawsze powinna sprawdzić, czy otrzymała uprawnienie do danej czynności - metoda checkselfpermission() Po dodaniu na starszym Androidzie uprawnień do manifestu aplikacja uprawnienia będzie miała

Uprawnienia Od Androida 6 aplikacja musi w trakcie działania zapytać się o pozwolenie. Służą do tego metody: requestpermissions() onrequestpermissionresult() Proces ten jest asynchroniczny

Uprawnienia

Teraz aplikacja ma już uprawnienia do ponownej instalacji lub odebrania uprawnień przez użytkownika Uprawnienia

Uprawnienia Aplikacja może uzasadnić swoje żądanie uprawnień korzystając z metody shouldshowrequestpermissionrationale()

Dostęp do aparatu Dostęp do aparatu możemy otrzymać wywołując odpowiednią intencję Aplikacja musi posiadać uprawnienia Zdjęcie dostaniemy w powrocie z aktywności

Odtwarzanie mediów Klasa MediaPlayer - prostsza z metodami: create() - inicjalizuje w oparciu o URI setdatasource() - ustawia źródło prepare() - przygotowuje odtwarzanie start(), pause(), stop(), resume() - sterują odtwarzaniem setvolume() - reguluje głośność reset() - zeruje odtwarzacz release() - zwalnia zasoby

Odtwarzanie mediów Klasa AudioTrack - bardziej złożona, z możliwością buforowania danych Dostęp do mediów wymaga uprawnień

Nagrywanie mediów Klasa MediaRecorder z metodami: setaudiosource() SetVideoSource() setoutputformat() setaudioencoder() setoutputfile() prepare() start(), stop() reset(), release()