Autor: Danny Staple
Format: 168x237, stron: 520, oprawa: miękka Data wydania: 2022-01-14 |
android.location - zawiera klasy które definiują usługi oparte na lokalizacji, powiązane z usługami Android - Google Location Services API.
android.location API nie jest zalecany do uzyskiwania dostępu do lokalizacji Android. Google Location
Services API, będący częścią usług Google Play, to zalecany sposób dostępu do lokalizacji w twojej
aplikacji. Oferuje prostszy interfejs API i wyższą dokładność i nie tylko. Jeśli obecnie korzystasz
z interfejsu API android.location, powinieneś jak najszybciej przejść na interfejs Google Location
Services API com.google.android.gms.location.
...
Interfejsy
GnssAntennaInfo.Listener | Służy do odbierania informacji o antenie GNSS z silnika GNSS ang. Global Navigation Satellite Systems. |
GpsStatus.Listener | Ten interfejs jest przestarzały na poziomie API 24. Zamiast tego użyj GnssStatus.Callback. Służy do otrzymywania powiadomień o zdarzeniach GNSS. |
GpsStatus.NmeaListener | Ten interfejs jest przestarzały na 24 poziomie API. Zamiast tego użyj OnNmeaMessageListener. Służy do odbierania zdań NMEA z GNSS. NMEA 0183 to standard komunikacji z morskimi urządzeniami elektronicznymi. |
LocationListener | Służy do otrzymywania powiadomień o zmianie lokalizacji urządzenia. |
OnNmeaMessageListener | Służy do odbierania zdań NMEA z GNSS. NMEA 0183 to standard komunikacji z morskimi urządzeniami elektronicznymi. |
Klasy
Address | Klasa reprezentująca adres, tj. zbiór ciągów opisujących lokalizację. Format adresu to uproszczona wersja xAL (eXtensible Address Language) |
Criteria | Klasa wskazująca kryteria aplikacji do wyboru dostawcy lokalizacji. |
Geocoder | Klasa do obsługi geokodowania i odwrotnego geokodowania. |
GnssAntennaInfo | Klasa do obsługi geokodowania i odwrotnego geokodowania. Klasa zawierająca informacje o antenie GNSS. |
GnssAntennaInfo.Builder | Klasa konstruktora dla GnssAntennaInfo. |
GnssAntennaInfo.PhaseCenterOffset | Klasa zawierająca informacje o przesunięciu środka fazowego anteny (PCO). |
GnssAntennaInfo.SphericalCorrections | Reprezentuje poprawki na mapowaniu sferycznym. |
GnssCapabilities | Możliwości chipsetu GNSS. |
GnssCapabilities.Builder | Konstruktor GnssCapabilities. |
GnssClock | Klasa zawierająca znacznik czasu zegara GPS. |
GnssMeasurement | Klasa reprezentująca pomiar satelity GNSS, zawierająca surowe i obliczone informacje. |
GnssMeasurementRequest | Ta klasa zawiera dodatkowe parametry do przekazania w żądaniu pomiaru GNSS. |
GnssMeasurementRequest.Builder | Konstruktor GnssMeasurementRequest |
GnssMeasurementsEvent | Klasa implementująca kontener na dane powiązane ze zdarzeniem pomiarowym. |
GnssMeasurementsEvent.Callback | Służy do odbioru pomiarów satelitarnych GNSS z silnika GNSS. |
GnssNavigationMessage | Klasa zawierająca komunikat nawigacji satelitarnej GNSS. |
GnssNavigationMessage.Callback | Służy do odbierania komunikatów nawigacji satelitarnej GNSS z silnika GNSS. |
GnssStatus | Ta klasa reprezentuje bieżący stan silnika GNSS i jest używana w połączeniu z GnssStatus.Callback. |
GnssStatus.Builder | Klasa Builder ułatwiająca tworzenie nowych instancji GnssStatus. |
GnssStatus.Callback | Służy do otrzymywania powiadomień o zdarzeniach GNSS. |
GpsSatellite | Ta klasa reprezentuje aktualny stan satelity GPS. Ta klasa została uznana za przestarzałą na poziomie 24 interfejsu API. użyj GnssStatus i GnssStatus.Callback. |
GpsStatus | Ta klasa reprezentuje bieżący stan aparatu GPS. Ta klasa została uznana za przestarzałą na poziomie interfejsu API 24. Zamiast tego użyj GnssStatus. |
Location | Klasa danych reprezentująca lokalizację geograficzną. |
LocationManager | Ta klasa zapewnia dostęp do usług lokalizacji systemu. |
LocationProvider | Ta klasa została uznana za przestarzałą na poziomie interfejsu API 31. Ta klasa nie może reprezentować nieznanych właściwości dostawcy i może zwracać nieprawidłowe wyniki w rzadkich przypadkach, gdy właściwości dostawcy są nieznane. Preferuj użycie LocationManager#getProviderProperties(String), aby zamiast tego pobrać ProviderProperties. |
LocationRequest | Hermetyzacja różnych parametrów do żądania lokalizacji przez LocationManager. |
LocationRequest.Builder | Klasa konstruktora dla LocationRequest. |
SettingInjectorService | Dynamicznie określa podsumowanie (podtytuł) i włączony stan preferencji wstrzykniętych na listę ustawień aplikacji wyświetlanych przez aplikację ustawień systemowych. Do użytku tylko przez aplikacje zawarte w obrazie systemu, w przypadku preferencji, które mają wpływ na wiele aplikacji. |
Dodajemy Google Play services. W pliku build.gradle, w części dependencies musimy dodać biblioteki dotyczące android.location.
dependencies {
...
implementation 'com.google.android.gms:play-services-location:19.0.1'
...
}
Uruchamiamy synchronizację pliku build.gradle, po przez klikniecie Synk Now.
W AndroidManifest.xml dodajemy dostęp do location API:
...
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
...
Dodatkowo w AndroidManifest.xml musimy dodać uprawnienie ACCESS_FINE_LOCATION, które umożliwi dostęp do modułów lokalizacyjnych np. GPS itd.:
...
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
Przykład:
android.os class
Za pomocą klasy AsyncTask możemy operacje asynchroniczne wykonywać w tle. Tworzony obiekt AsyncTask, dziedziczy po klasie AsyncTask. Za pomocą klasy AsyncTask możemy w tle, aktualizować bazę danych lub pobierać dane z serwera.
Klasę AsyncTask dodajemy wewnątrz aktywności, w której chcemy jej używać.
Ta klasa została wycofana na poziomie interfejsu API 30.
Zamiast tego użyj standardowych narzędzi do współbieżności java.util.concurrent
lub zamiast tego narzędzia współbieżności Kotlin.
Klasa AsyncTask definiuje metody:
onPreExecute() // metoda opcjonalna jest wywoływana przed rozpoczęciem kodu metody
// doInBackground() działającej w tle
doInBackground() // metoda musi być zaimplementowana, kod wykonywany w tle
onProgressUpdate() // metoda opcjonalna publikuje postępy kodu metody
// doInBackground() działającej w tle
onPostExecute() // metoda opcjonalna wywoływana po zakończeniu kodu metody
// doInBackground() działającej w tle
Klasę AsyncTask definiujemy po przez podanie trzech parametrów:
Params - typ obiektu używanego do przekazania parametrów do metody doInBackground()
Progress - typ obiektu stosowanego do przekazywania informacji o postępach wykonywanego kodu
Results - typ wyniku zwracanego przez wykonany kod w metodzie doInBackground() odbierany w onPostExecute()
przykład:
Autor: Urszula Wiejak
Format: 158x235, stron: 176, oprawa: miękka Data wydania: 2019-08-06 |
Czytaj więcej: Programowanie dla najmłodszych. W ruchu, z tabletem, przez zabawę
Autor: Bill Phillips, Chris Stewart, Kristin Marsicano
Format: 170x230, stron: 744, oprawa: miękka Data wydania: 2017-11-17 |
Czytaj więcej: Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III
Autor: Dawn Griffiths, David Griffiths
Format: 200x230, stron: 880, oprawa: miękka Data wydania: 2018-10-19 |
Czytaj więcej: Android. Programowanie aplikacji. Rusz głową! Wydanie II
Autor: Marcin Płonkowski
Format: 158x235, stron: 400, oprawa: miękka Data wydania: 2017-12-22 |
Czytaj więcej: Android Studio. Tworzenie aplikacji mobilnych
Autor: Carmen Delessio, Lauren Darcey, Shane Conder
Format: 158x235, stron: 448, oprawa: miękka Data wydania: 2016-04-18 |
Czytaj więcej: Android Studio w 24 godziny. Wygodne programowanie dla platformy Android. Wydanie IV
Autor: Hervé Guihot
Format: 158x235 , stron: 256, oprawa: miękka Data wydania: 2013-06-21 |
Czytaj więcej: Optymalizacja wydajności aplikacji na Android