Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Android-Programmering Våren 2014. Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending.

Liknende presentasjoner


Presentasjon om: "Android-Programmering Våren 2014. Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending."— Utskrift av presentasjonen:

1 Android-Programmering Våren 2014

2 Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending

3 Rollen til PendingIntents Gjør sirkelen komplett Intenter gjør det mulig og benytte komponenter fra andre programmer Trenger en sikker måte og deligere actions til disse PendingIntents Innkapsler en intent, og en action for å utføre den

4 Vanlig bruk Krever 3 enkle steg Lage en Intent getXXX for og pakke inn Intent i en PendingIntent (Egne metoder for hver av standardkomponentene) Sende PendingIntenten til ønsket komponent Notifications, widgets, servicer, activities

5 Innholdet i en PendingIntent PendingIntent innkapsler alt for komponenten som oppretter den Intent Assosiert action Identitet og rettigheter til komponenten som opprettet den Komponentens package

6 Synlighet Innholdet i en PendingIntent er ikke synlig for andre applikasjoner Deles ikke utenfor komponenten som laget den Lagres i Android systemet PendingIntent objektet inneholder bare en token til innholdet

7 Deling PendingIntent, som en referanse, tillater deling Like PendingIntents får samme referanse Begge må komme fra samme applikasjon Blir sett på som like ved hjelp av Intent.filterEquals

8 Flags Flags i getXXX sier hva som skal skje med valg av referanse Kan gjøre noen endringer til en eksisterende Intent Kan lage nye referanser selv om de matcher en tidligere Kan gjøre tidligere PendingIntents ugyldige

9 Flags FLAG_UPDATE_CURRENT Hvis eksisterer, oppdater med extras fra den nye Intenten FLAG_NO_CREATE Ikke lag en ny Returner en eksisterende, eller returner null FLAG_CANCEL_CURRENT Lag en ny Hvis den matcher en eksisterende, kanseller denne FLAG_ONE_SHOT Kan bare sende en gang Kan ha flere referanser Hvis den matcher en eksisterende som ikke har flagget, lag en ny Begge er gyldige

10 Sende PendingIntent Utføre oppgaven i en PendingIntent Kalle send metoden, sender Intenten den inneholder Finnes flere overload metoder Kan gjøre noen modifiseringer av Intenten som sendes Sette verdier som ikke er satt tidligere Gjør modifiseringene med Intent.fillIn

11 Oppsumering Pakker inn en Intent og en assosiert action Kjøres under identen til komponenten som oppretter Innholdet i er ikke tilgjengelig fra applikasjoner Flere referanser kan peke til samme PendingIntent Bruk send metoden til å utføre PendingIntent actionen

12 Notifications

13 Oversikt Bakoverkompatible notifications Notifications med actions Mer personlige notifications Flere notifications Expandable notifications

14 Lage en notification Bruker builder pattern Finnes to versjoner Notification.Builder del av standard API’et NotificationCompat.Builder del av v4 support library Foretrekker NotificationCompat.Builder Nedgraderer funksjonalitet etter behov Krever inkludering av v4 support library

15 Vanlige Notification Properties Støtter 4 properties i alle Android versjonene 3 elementer i UI’et Small icon: Builder.setSmallIcon Title: Builder.setContentTitle Text: Builder.setContentText Kan assosiere klikk action på en notification Valgfritt på Android 3.0 (API 11) og nyere Kreves på tidligere versjoner

16 Legge til notification action Brukere forventer at noe skjer når de trykker på en notification Bruk setContentIntent Action kan være hva som helst en Intent kan representere Åpner vanligvis en Activity Bruker en spesiell klasse kaldt PendingIntent Pakker en Intent i en fremtidig action Bruk PendingIntent.getActivity for å pakke inn en Activity Intent i en PendingIntent

17 NotificationManager NotificationManager gir tilgang til notification systemet Er en systemservice Bruk Context.getSystemService med Context.NOTIFICATION_SERVICE Use notify metoden for å vise notificationen Må gi en instans av Notification klassen En int verdi definert av applikasjonen Kan også inkludere en tag Kan oppdatere en notification ved å bruke samme id/tag Fjern notification med cancel

18 Mer kontroll Android 3.0 (API 11) gir mer kontroll over notifications Gir mulighet til å påvirke oppførselen til notificationene i listen Kan gjøre dem mer informative Hvis NotificationCompat.Builder blir disse ekstra funksjonene ignorert hvis de ikke er støttet

19 Oppførsel i listen Kontroller fjerning Kontroller om den automatisk skal fjernes Builder.setAutoCancel Bør stort sett være true Hindre brukere i å fjerne den Builder.setOngoing Sett bare hvis nødvendig Kontrollere posisjon Builder.setPriority Vær forsiktig

20 Mer informative Kan gjøres mer informative Kan ha et større ikon i tillegg Builder.setLargeIcon Kan plassere en teller i notificationen Builder.setNumber Kan vise en spesiell melding når den først vises Builder.setTicker

21 Expandable Notifications Android 4.1 (API 16) introduserte expandable notifications Har et standard view og kan utvides til å vise mer info Benytter style klasser inne i NotificationCompat klassen Bruker Builder.setStyle til å assosiere med builder instansen BigTextStyle klassen gir et større tekstfelt BigPictureStyle klassen kan vise et bilde opp til 240dp høyt InboxStyle klassen kan vise tekslinjer

22 Oppsummering Foretrekker NotificationCompat.Builder fremfor Notification.Builder Small icon, Title, Text og action fungerer på alle versjoner Bruker PendingIntents til å representere actions Må ha action i versjoner < API Level 11 API Level 11 gir mer kontroll Kan kontrollere fjerning Kan gjøre de mer personlig API level 16 gir expandable notifications Kan inkludere mer informasjon Kan utvide og minimere notificationen

23 Oversikt Notifications og activity navigering Foreground servicer Notification actions Notifications – eget layout

24 Notifications og activity navigering Kan «ødelegge» navigering Brukere har ofte en forventning av hvor back knappen fører Ofte er en Activity dypt i hierarkiet Notifications lager ikke en back historie

25 Gjøre det konsist Legge ved back stack informasjon til notificationen Applikasjonen med activityen som kalles på ha activity hierarkiet i manifest Må lagre activity hierarkiet i TaskStackBuilder instanse Lage PendingIntent med TaskStackBuilder

26 Notification og servicer Kan gi brukergrensesnitt til servicer Åpner ofte aktiviteten som kontrollerer servicen Notificationen kan fungere som et enkelt brukergrensesnitt Servicer som bruker dette er ofte foreground servicer

27 Foreground Servicer Elevert service prioritet Prioritet nesten på linje med applikasjonen brukeren interagerer med Har en fast notification når den kjører Ingen spesielle krav til notificationen Blir en foreground service ved å kalle startForeground Sender inn notification id og Notification instans Forblir i forgrunnen til den avslutter eller stopForeground blir kallt Servicer kan gå inn og ut av foreground staten

28 Notification Actions Actions gir knapper direkte i notificationen Støtter Android 3.0 (API level 11) og høyere Kan ha opp til 3 actions i en notification Har et ikon og en tekst Hver knapp bruker en egen PendingIntent Dette er i tillegg til den «vanlige» Unngå og bruke i applikasjoner som er satt til mindre enn API level 11 Knappene vises kun som et hvitt felt

29 Eget layout Kan bruke en egen layout Kan bruke de view hierarkier som får plass Tvers av prosesser Notification kjører på OS host process View hierarki er i applikasjonens prosess RemoteView gir mulighet til å sende view hierarkier på tvers av prosesser Bruk NotificationCompat.Builder.setContent

30 Oppsumering Lag en konsistent oppførsel til back knappen Bruk TaskStackBuilder for å lage back stacken Krever at activityen som kjøres har en parent i manifestet Notifications kan benyttes som et UI for servicer Spesielt nyttig til foreground servicer Notification actions lager knapper direkte i notificationen Knytter ytterligere PendingIntent instanser til notificationen RemoteView benyttes for egne notification layout


Laste ned ppt "Android-Programmering Våren 2014. Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending."

Liknende presentasjoner


Annonser fra Google