Usługi powiązane i uprawnienia
773
jesteś tutaj
Aktualizacja układu aktywności MainActivity
Kolejnym etapem prac nad aplikacją będzie utworzenie powiązania pomiędzy aktywnością
MainActivity
i usługą
OdometerService
oraz wywoływanie metody
getDistance()
tej
usługi. Zaczniemy od dodania do układu aktywności nowego widoku
TextView
. Będzie on
służył do prezentowania wartości zwróconej przez wywołanie metody
getDistance()
.
Zmodyfikuj swoją wersję pliku
activity_main.xml, tak by zawierała kod przedstawiony
poniżej:
<?xml version=”1.0” encoding=”utf-8”?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
tools:context=”com.hfad.odometer.MainActivity”
android:orientation=”vertical”
android:padding=”16dp”>
<TextView
android:id=”@+id/distance”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textSize=”48sp”
android:layout_gravity=”center_horizontal”
android:textAppearance=”?android:attr/textAppearanceLarge” />
</LinearLayout>
Skoro już dodaliśmy do układu aktywności
MainActivity
widok
TextView
, możemy się zająć aktualizacją kodu aktywności.
Zacznijmy od przeanalizowania zmian, które będziemy musieli
wprowadzić.
<xml>
</xml>
app/src/main
activity_
main.xml
Drogomierz
res
layout
Tego widoku TextView będziemy używać
do wyświetlania wartości zwróconej przez
wywołanie metody getDistance() usługi
OdometerService.
¨
OdometerService
¨
MainActivity
¨
Usługi lokalizacyjne
774
Rozdział 19.
Etapy
Utworzyć obiekt ServiceConnection.
Tworzy on połączenie z usługą, korzystając z obiektu
IBinder
tej usługi.
Utworzyć powiązanie aktywności z usługą.
Kiedy aktywność zostanie powiązana z usługą, będzie można bezpośrednio
wywoływać metody tej usługi.
Wchodzić w interakcje z usługą.
My będziemy używać metody
getDistance()
usługi, by aktualizować
widok
TextView
prezentowany w aktywności.
Odłączyć usługę, kiedy już nie będzie potrzebna.
Kiedy usługa nie jest już potrzebna, Android ją usuwa, by zwolnić używane
przez nią zasoby.
Aktywność UsługaServiceConnection
Aktywność
Usługa
Aktywność
Usługa
Kiedy aktywność zostanie
powiązana z usługą, można
używać tej usługi do
aktualizowania aktywności.
Na kolejnych stronach wykonamy wszystkie te czynności, zaczynając od
utworzenia obiektu
ServiceConnection
.
¨
OdometerService
¨
MainActivity
¨
Usługi lokalizacyjne
Co musi robić aktywność MainActivity?
Aby utworzyć połączenie pomiędzy aktywnością i usługą powiązaną oraz aby móc
wywoływać metody tej usługi, trzeba wykonać kilka czynności:
1
2
3
4
Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.