Android i Bluetooth Low Energy. Laboratorium 4 Niestacjonarne

Podobne dokumenty
WSTĘP DO ANDROIDA. Laboratorium 1 Systemy i aplikacje bez granic

WSTĘP DO ANDROIDA. Laboratorium

akademia androida Pierwsze kroki w Androidzie część I

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

Zamawianie Taxi Aktywator Instrukcja użytkownika

Programowanie usług działających w tle

Poradnik korzystania z usługi FTP

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

Przewodnik... Budowanie listy Odbiorców

Budowanie listy Odbiorców

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

akademia androida Sensory część V Mobile Applications Developers

AZACO Eksporter. Instrukcja konfiguracji oraz automatycznego eksportu danych. Przygotowanie środowiska...2. Konfiguracja zadań eksportu danych...

Odczyty 2.0 Spis treści

Spis treści. 1: Wyszukiwanie elementu : Do linii modelu : Powiel arkusze : Długość kabla : Rozmieszczenie widoków...

Definiowanie drukarek w programie ZAFIR

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Dostosowanie środków dostępu użytkowanych w bankowości internetowej. do wymogów silnego uwierzytelniania (SCA)

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

SUPLEMENT DO DYPLOMU

SYSTEM ZARZĄDZANIA DANYMI OSOBOWYMI - INSTRUKCJA UŻYTKOWNIKA

1. Logowanie do Systemu BCW

Przewodnik... Segmentacja listy Odbiorców

Programowanie dla Androida. Ubiquitous

emagazyn zarządzanie magazynem za pomocą skanerów kodów kreskowych.

Podstawowe elementy GUI - zadania

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

Internetowy serwis Era mail Aplikacja sieci Web

Programowanie urządzeń mobilnych. projekt 6 ( )

Katalog książek cz. 3: Web Service

Spis treści. SELLDROID mobilny handlowiec

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Instrukcja 1: Instalacja certyfikatu niekwalifikowanego w systemie Microsoft Windows:

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

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 10 sierpnia 2017

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

GroupWise WebAccess Basic Interface

Mechanizm zarządzania bazą towarową Quattro i kas firmy ELZAB Wersja RMC 1.9

Dokumentacja LUDMO S.A. Instrukcja obsługi aplikacji. Instrukcja Obsługi Aplikacji Mobilnej LUDMO

Instrukcja pierwszego logowania użytkownika do usługi CUI dla klientów z autoryzacją MAA.

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

emszmal 3: Automatyczne księgowanie przelewów w programie EasyUploader (plugin dostępny w wersji ecommerce)

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych

5.1. MINIPOS MINIPOS. INSTALACJA ORAZ URUCHOMIENIE USŁUGI

Wykaz zmian w programie SysLoger

Instrukcja logowania do systemu e-bank EBS

Program Zamiana towarów dla Subiekta GT.

Program Rabator dla Microsoft Windows.

Przykład połączenie z bazą danych

ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE...

Instalacja oprogramowania KISSsoft 03/2017

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

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

TECHNOLOGIA OBSŁUGI KONTRAKTÓW INFORMACJA O AKTUALIZACJI SYSTEMU ISO 9001:2000 Dokument: Raport Numer: 22/2012 Wydanie: Waga: 90

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

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

Instrukcja inteligentnego gniazda Wi-Fi współpracującego z systemem Asystent. domowy

PWI Instrukcja użytkownika

Instrukcja konfiguracji programu Fakt z modułem lanfakt

1 Moduł Konfigurowanie Modułu

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

PROTEKTOR Instrukcja Obsługi

Rejestr transakcji GIIF - instrukcja

Konfiguracja i uruchomienie usługi Filtry adresów IP dla użytkowników Centrum Usług Internetowych dla Klientów Banku Spółdzielczego w Łęcznej.

Przesyłanie Pakietów Danych i TCP/IP

Program dla praktyki lekarskiej. Instalacja programu dreryk

Instalacja i obsługa aplikacji MAC Diagnoza EW

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:

akademia androida Intencje oraz URI część III

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Połączenie grzałki ze Smartfonem.

PROFFICE/ MultiCash PRO Zmiana parametrów komunikacji VPN do połączenia z Bankiem Pekao S.A.

Aplikacja Sieciowa wątki po stronie klienta

IIIIIIIIIIIIIIIMMIMMIII

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

procertum CLIDE Client 2.1 wersja 1.0.2

SERWER AKTUALIZACJI UpServ

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola)

INSTRUKCJA OBSŁUGI STEROWNIKA WIFI

INSTRUKCJA OBSŁUGI DIODOWEGO WYŚWIETLACZA TEKSTÓW PIEŚNI STEROWANEGO Z TABLETU 10,1 '

Opis programu EKSoft Rezerwacje

emszmal 3: Automatyczne księgowanie płatności w programie EasyUploader (plugin dostępny w wersji ecommerce)

Szpieg 2.0 Instrukcja użytkownika

Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).

OmniTouch 8400 Instant Communications Suite Telefon aplikacji My Instant Communicator. My Instant Communicator dla serii Alcatel-Lucent /4068

Instrukcja instalowania aplikacji TNS mobistat. Tablet. Help Desk

Rejestracja faktury VAT. Instrukcja stanowiskowa

Połączenie aplikacji mobilnej z Facebookiem

1. Instalacja systemu Integra 7

Instrukcja obsługi serwera FTP v

wbudowany system do głosowania Avtek TS Pro3 / Pro4K

głosowanie wbudowany system do głosowania Avtek TS Pro3 / Pro4K

Ćwiczenie 8. Kontrolki serwerowe


Dodatek. Instrukcja instalacji i konfiguracji. dla Subiekt nexo. Wersja:

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

Pocztowe Konto Firmowe - aneks do umowy

UMOWY INSTRUKCJA STANOWISKOWA

Transkrypt:

Android i Bluetooth Low Energy Laboratorium 4 Niestacjonarne

Agenda Stworzymy dwie aplikacje działające jako klient-serwer komunikujące się poprzez Bluetooth LE Ze względu na ograniczenia emulatora potrzebne będą państwa telefony Nie każdy telefon posiada BLE

Klient Tworzymy nowy projekt typu Basic Activity o nazwie BLEClient z API na poziomie Androida 6. Wygląd aktywności kopiujemy stąd: https://pastebin.com/t0bymgea

Klient Do manifestu dodajemy wpisy: Do projektu dodajemy klasę Constants, której kod jest tutaj: https://pastebin.com/hsghtvua

Klient Będziemy potrzebować wiele importów (powinny dodawać się automatycznie)

Klient W klasie zdefiniujemy pola:

Klient W metodzie onresume sprawdzimy, czy BLE jest dostępne

Klient Modyfikujemy metodę oncreate

Klient Dodajemy metody obsługi przycisków Start/Stop - odpowiednio startscanning i stopscanning oraz dla przycisku Wyślij - sendmessage

Klient Dodajemy metodę sprawdzającą, czy mamy uprawnienia

I jej metody pomocnicze Klient

Klient Zaczynamy pisać metodę startscan Skanując musimy zdefiniować filtry (na razie puste) i tryb pracy (Low Power)

Klient Ponieważ proces skanowania jest asynchroniczny musimy zdefiniować klasę, która obsłuży CallBack wewnątrz naszej klasy aktywności

Klient W metodzie addscanresult dodamy znalezione urządzenia do listy Na koniec metody startscan dodajemy

Klient Gdybyśmy teraz uruchomili aplikację, skanowanie działałoby bez końca Dlatego dodamy zatrzymanie procesu po określonym czasie na koniec metody startscan

Klient Musimy jeszcze dodać metodę stopscan

I metodę scancomplete Klient

Klient Możemy teraz uruchomić aplikację Po wciśnięciu przycisku Start i upływie 5s powinna wyświetlić się lista znalezionych urządzeń BLE w otoczeniu (checkbox wszystkie musi być zaznaczony)

Serwer Tworzymy nowy projekt typu EmptyActivity dla Androida 6 o nazwie BLEServer Tworzymy te same wpisy w manifeście i dodajemy klasę Constants Serwer będzie dosyć podobny do klienta

Potrzebne importy Serwer

Pola w klasie aktywności Serwer

Serwer Piszemy metodę oncreate, w której tworzymy adapter Bluetooth

Serwer I onresume, gdzie najpierw sprawdzamy dostępność BLE

Serwer Dalej tworzymy obiekt Bluetooth Advertiser, który będzie odpowiedzialny za rozgłaszanie wokół naszej obecności Oraz tworzymy klasę CallBack dla usługi GattServer

Serwer Samą klasę CallBack zdefiniujemy wewnątrz klasy aktywności Na razie ją tak zostawiamy

Serwer Na koniec metody onresume dodamy teraz wywołanie metody setupserver, którą musimy dopisać

Serwer Nasz serwer jest identyfikowane przez pewne UUID oraz oferuje 1 tzw. charakterystykę, też identyfikowaną przez inny UUID, która oferuje usługę typu write

Serwer Dodamy teraz jeszcze następującą metodę, która uruchamia proces rozgłaszania

Serwer Metoda ta wymaga też CallBack u, który również zdefiniujemy w klasie aktywności

Serwer Wywołanie startadvertising dodajemy oczywiście na koniec metody onresume Musimy jeszcze móc zatrzymać proces rozgłaszania - dodamy metody stopadvertising i stopserver

Serwer I przeciążymy metodę onpause aktywności Wrócimy teraz do naszego CallBacku GattServer i treści jego metod

Serwer Tu serwer zarządza połączonymi urządzeniami

Serwer Nasz serwer w odpowiedzi na przesłaną informację odsyła ją odwróconą (KOT > TOK)

Klient 2 Wracamy do klienta W metodzie startscan dodamy filtr, który spowoduje, że będziemy szukać tylko naszego serwera

Klient 2 W klasie BtleScanCallback modyfikujemy metodę addscanresult

Klient 2 Dodajemy metodę connectdevice do aktywności I nową klasę wewnętrzną GattClientCallback

Klient 2 W klasie GattClientCallback przeciążamy metodę onconnectionstatechange

Klient 2 I podobnie metodę onservicesdiscovered

Klient 2 Dodajemy też do aktywności metodę do rozłączania się z serwerem disconnectgattserver Możemy teraz wysłać do serwera komunikat

Klient 2 Dodajemy do aktywności metodę sendmessage i upewniamy się, że jest podpięta pod guzik Wyślij

Klient 2 Serwer nam odpowie, więc musimy przechwycić odpowiedź Przeciążamy metodę oncharacteristicchanged w klasie GattClientCallback

Teraz powinno działać :-)

Dziękuję