Android Q for utviklere: Alt du trenger å vite

Forfatter: Louise Ward
Opprettelsesdato: 9 Februar 2021
Oppdater Dato: 3 Juli 2024
Anonim
Android Q for utviklere: Alt du trenger å vite - Apps
Android Q for utviklere: Alt du trenger å vite - Apps

Innhold


Fra en brukers perspektiv er en ny versjon av Android vanligvis en spennende tid. Med mindre du misliker et bestemt brukergrensesnittelement, betyr det generelt bedre ytelse, mer stabilitet og en rekke nye funksjoner.

Les også: De beste Android Q-funksjonene du bør kjenne til

For utviklere har en oppdatering som Android Q en tendens til å gi mer blandede følelser. De nye funksjonene er fremdeles gode nyheter, noe som muligens gir mulighet for mer interessant og kraftig funksjonalitet i appene våre. Samtidig representerer endringene mye arbeid da vi skynder oss å sikre at prosjekter ikke bare støtter den nye plattformen og oppfyller spesifikasjonene, men blir optimalisert for at den skal gi en best mulig opplevelse.

For dette formål vil dette innlegget hjelpe deg med å komme opp i fart ved å dele alle viktige endringer og utviklinger vi vet om så langt som utviklere kan huske på.


Dette inkluderer for øyeblikket all nyutvikling frem til Beta 6. Dette er sannsynligvis siste gang vi oppdaterer dette innlegget før den endelige utgivelsen!

Android Q for utviklere med et øyeblikk - det du virkelig trenger å vite

Dette er hva du virkelig trenger å vite:

  • Nye lokasjonstillatelser vil være påkrevd.
  • Støtte for fleropptak krever manifest endringer.
  • Scoped lagring vil endre hvordan du lagrer og får tilgang til filer på ekstern lagring.
  • Å skanne etter plassering nå krever FINE plassering.
  • Informasjon som IMEI er nå begrenset.
  • Bakgrunnsapper kan ikke lenger starte aktiviteter i forgrunnen.
  • Selv om det ikke er strengt relatert til Android Q, blir nye spesifikasjoner for appikoner introdusert.
  • Likeledes senere i år vil utviklere bli tvunget til å støtte Android Pie på et minimum. Advarsler vises på apper hvis de ikke følger.
  • Og alle appene må ha 64-biters versjoner innen utgangen av året.
  • Nye navigasjonssystemer kan påvirke appens brukergrensesnitt.

Her er noen kule nye funksjoner du kan være interessert i:


  • Multi-CV vil gi rom for kraftigere multitasking.
  • Du kan teste endringer i emulatoren via Android 3.5 Canary utgivelseskanal.
  • Enheter kan nå få tilgang til mer data fra dybdesensorer.
  • Enheter kan velge å støtte mørkt tema.
  • WiFi-modus med høy ytelse og lav latens tilgjengelig.
  • TextClassifier vil la devs identifisere språket til et stykke tekst.
  • MicrophoneDIrection API lar deg velge retningen til mikrofonen når du spiller inn.
  • Bobler gir mulighet for enklere multitasking og rike varsler.
  • Økt støtte for mediekodeker.
  • Dele snarveier vil gjøre det lettere å dele medier fra apper.
  • Raske innstillinger vil gi enkel tilgang til innstillinger relatert til den gjeldende appen.
  • Vulkan-støtten blir presset hardt.
  • Mer nevrale nettverksoperasjoner.
  • Forbedringer av Android-kjøretiden vil hjelpe appene dine med å lunsj raskere (i teorien).

For å lese mer om alle disse tingene og mindre endringer, fortsett å lese. Vi vil også se på hvordan du kan begynne å teste appen din på Android Q akkurat nå.

Plasseringstillatelser ser forbedrede sikkerhetsalternativer

Hver nye iterasjon av Android fører med seg nye funksjoner designet for å gi en sikrere og privat opplevelse for brukerne. Denne gangen får de mer kontroll over posisjonsinformasjon. Tidligere kan brukere enten gi eller nekte tilgang til stedsdata engros. Denne gangen vil de kunne velge et tredje alternativ for bare å gi disse dataene mens appen er i bruk - når den kjører i forgrunnen.

Dette betyr forhåpentligvis at brukere ikke vil nekte å installere en app helt fordi de ikke vil at den skal "se på dem", selv om ordlyden som brukes for tillatelse til bakgrunnsplassering kan være litt ulovlig:

"La app få tilgang til denne enhetens plassering hele tiden?

Au!

Men uansett hva du føler for det, betyr det at du trenger å gjøre noen få endringer. Spesielt vil utviklere som er målrettet mot Q, legge til følgende linje i appmanifestet sitt: android.permission.ACCESS_BACKGROUND_LOCATION.

Hvis du har en eldre app, vil Android legge til denne tillatelsen i tillegg til ACCESS_FINE_LOCATION eller ACCESS_COARSE_LOCATION som standard.

Mer informasjon om hvordan du konfigurerer dette er tilgjengelig fra Google her.

Scoped lagring endrer måten du får tilgang til eksterne filer

Selv om vi handler om personvern, vil brukere også kunne kontrollere tilgangen til delte filer i mappene Bilder, Videoer og Audio med nye kjøretidstillatelser som erstatter READ_EXTERNAL_STORAGE og WRITE_EXTERNAL_STORAGE. Tilgang til nedlastingsmappen vil også bare være tilgjengelig gjennom systemfilvelgeren, noe som gir brukerne total kontroll over hvilke filer som blir gjort tilgjengelige.

For å konfigurere dette, må du be om nye tillatelser som READ_MEDIA_IMAGES og deretter få tilgang til samlingene via MediaStore API. Du finner de fullstendige instruksjonene her.

For å motveie vil apper nå ha sin egen "isolerte lagringssandkasse" som gir en mappe begrenset til den appen som ligger på ekstern lagring. Dette er ment å redusere behovet for tillatelser, samtidig som det forhåpentligvis er litt mer fleksibelt enn den interne lagringen som for øyeblikket er gitt. Du må fremdeles ta sikkerhetskopi av filene ved å flytte dem til MediaStore-samlingene eller bruke Storage Access Framework, hvis du vil at de skal være igjen etter at appen er avinstallert. Det vil uunngåelig skape noen hindringer i noen få unike tilfeller.

Hvis du ønsker å få tilgang til filer fra andre appers isolerte lagringssandkasser på ekstern lagring, er det noen advarsler. Dette er som standard aktivert for vanlige mediefiltyper (som bilder og musikk). Hvis du imidlertid ønsker å få tilgang til andre filer som er opprettet av en egen app, må du bruke ACTION_OPEN_DOCUMENT og ACTION_OPEN_DOCUMENT_TREE hensikten for å be om tilgang til en bestemt fil (som brukeren vil gi eller tilbakekalle).

Flere sikkerhetsendringer

Et par andre sikkerhetsendringer å vurdere:

  • Bakgrunnen-apper vil ikke lenger kunne starte aktiviteter i forgrunnen, da dette kan skurrende for brukerne. Du må i stedet bruke et varsel med høy prioritet med fullskjermsatsing for ting som innkommende samtaler.
  • Enheter vil ha tilfeldige MAC-adresser på forskjellige Wi-Fi-nettverk som standard (dette var valgfritt i Pie).
  • Tilgang til informasjon som IMEI-enhet og serienummer vil nå være begrenset. Mer informasjon her.
  • APIer for skannernettverk krever nå FINE-stedstillatelse.
  • Lagt til støtte for WPA3 og forbedrede Open Wi-Fi-standarder.
  • Det ser ut til at apper ikke lenger vil være i stand til å skifte Wi-Fi, i stedet for å bli tvunget til å stole på det nye innstillingspanelet.

Framtidssikring - sammenleggbare enheter, multi-CV og nevrale nettverk

Android Q tar også en rekke skritt for å forberede seg på maskinvarens fremtid. Du vet hva det betyr: sammenleggbare! Eller, som Google kaller dem: "innovative nye skjermer."

Den store utviklingen er forbedringer av onResume og onPause. Disse vil nå støtte “multi-CV” og varsle appen når den får fokus. Multi-Resume gjør det mulig for to apper å kjøre samtidig uten pause (slik de gjør for øyeblikket). Dette vil sannsynligvis påvirke alle appene i modus med flere vinduer (ikke bare de som er på sammenleggbare skjermer), og til slutt bringe telefonene våre enda nærmere ekte skrivebordslignende ytelse. Hvis du ønsker å se hvordan det ser ut akkurat nå, kan du prøve noe lignende gjennom MultiStar-appen på Samsung (del av Good Lock).

I tillegg til multi-CV, ser Android Q også endringer på onResume og onPause - kanskje noen av de mest grunnleggende endringene vi har sett på en stund.

Attribusjonsaktiviteten manifest-attributtet blir også endret, for å hjelpe til med å takle regelmessig dobling i størrelse når skjermene blir åpnet.

Dette er stort sett gode nyheter for utviklere som nå trenger å bekymre seg mindre for hvordan de skal håndtere appene deres som er på pause, men synlige. Når det er sagt, introduserer det enda flere potensielle brukssaker og displaytyper til en allerede svært fragmentert plattform. Gøy gøy.

For å implementere alt dette, må du gjøre noen endringer i manifestet, og spesifikt inkludere taggen: android.allow_multiple_resumed_activities. Fra Beta 2 og 3 vil utviklere kunne teste ut dette selv ved å bruke foldables-emulator via AVD.

Neural Networks API 1.2 kommer også, og gir 60 nye operasjoner og forbedret funksjonalitet. Ops inkluderer slike som ARGMAX, ARGMIN og Quantised LSTM, som i hovedsak skal muliggjøre bedre objektdeteksjon og bildesegmentering.

Mer multitasking med bobler

Som om ekte multitasking ikke var nok, vil Android Q også introdusere enda en måte å gjøre mer enn en ting på en gang: bobler. Disse boblene fungerer effektivt som en form for varsling, men gir mer informasjon og viser til og med hele aktiviteter på toppen av hva brukeren nå gjør. Dette gir rask tilgang til ting som notater, oversettelser og chatter. I hovedsak chattehoder da.

bobler fungerer effektivt som en form for varsling

Utviklere vil kunne få tilgang til den nye funksjonen gjennom et API bygget oppå det gjeldende varslingssystemet. For å sende bobler vil du bruke setBubbleMetadata og deretter gi en aktivitet som skal vises i boblen sammen med et ikon.

Dele snarveier og innstillingspanelet

Google ønsker å gjøre det enklere for brukere å dele innhold fra apper, og dermed vil det introdusere "Dele snarveier" for å la brukere hoppe rett inn i en annen app. Utviklere vil kunne publisere "delingsmål" for å starte spesifikke aktiviteter med innholdet vedlagt, og disse vil bli vist for brukere via UI. Fra Beta 2 kan du nå gi en forhåndsvisning av dataene som blir delt.

Dette vil fungere på samme måte som snarveier til appen, og vil dermed være tilgjengelig via ShortcutInfo API. Det vil også komme et nytt ShareTarget AndroidX-bibliotek, som vil fungere for enheter som ikke kjører Q. Google har delt en prøve-app for de som vil sjekke ut hvordan alt dette fungerer.

Det virker som om å gjøre ting raskere er navnet på spillet generelt, med Android Q gjør det også enklere å endre systeminnstillinger i sammenheng med den nåværende appen. Dette vil være tilgjengelig for devs via API-innstillingspanelet.

For å vise innstillingspanelet, trenger du bare å bruke en intensjon som ACTION_VOLUME med en Innstillinger-panelhandling.

Forbedringer av tilkoblinger

Wi-Fi-stabelen er blitt omfaktorert i Android Q for å forbedre personvernet og ytelsen, og for å gjøre ting som å administrere IoT-enheter eller foreslå internettforbindelser enklere uten å ha behov for stedstillatelse.

Mer interessant er imidlertid at devs vil kunne få tilgang til høy ytelse og lav latensmodus. Det siste vil være spesielt nyttig for spill (og streaming av spill!).

Du får tilgang til disse ved å ringe WiFiManager.WiFiLock.creatWifiLock () og bruke WIFI_MODE_FULL_LOW_LATENCY eller WIFI_MODE_FULL_HIGH_PERF.

Nye medialternativer - codec-støtte og dybdedata

Enheter vil nå kunne dra nytte av de dybdesensorende kameraene. Dynamiske dybdebilder kan etterspørres og vil inneholde en JPG, XMP-metadata som beskriver dybdeelementer og et dybdesikkerhetskart.

Dette kan være nyttig for kameraapper og redigeringsapper for bilder, men kanskje mer spennende er potensialet for AR-applikasjoner. Google samarbeider med OEM-er for å sikre at dette er tilgjengelig på alle Q-støttende enheter.

Android Q vil også støtte open source-videokodek AV1, som gir mulighet for streaming av høy kvalitet med lavere båndbreddekrav. Lydkoding via Opus kommer også. Gjennom MediaCodecInfo API vil det nå også være lettere å se gjengivelsesalternativene som er tilgjengelige på en gitt enhet.

Et eget MIDI API vil også tillate kommunikasjon med MIDI-enheter via NDK. Den nye API for MicrophoneDirection vil tillate utviklere å stille retningen til mikrofonen under lydopptak. Dette vil også standardisere kontrollen over zoombare mikrofoner.

En annen ny funksjon er muligheten til å spille inn lyd fra andre apper. Dette vil være nyttig for ting som spillstrømming, bildetekst og oversettelse.

Ytelse oppgradert - Vulkan og Android Runtime

Spilldevs bør dra nytte av forbedret Vulkan-støtte over hele linjen. Googles uttalte mål er å sikre at API støttes på alle 64-biters enheter som kjører Android Q. Selskapet jobber også med en standard og oppdaterbar OpenGL-driver for enheter bygget på Vulkan. Android Q vil også legge til eksperimentell støtte for ANGLE - et abstraksjonslag som skal tillate spill som bruker OpenGL ES å dra nytte av Vulkans ytelse og stabilitet. OpenGL ES 2.0 vil også bli støttet i Q, med støtte for 3.0 som kommer kort tid etterpå.

Du kan også forvente å få forbedret generell ytelse på tvers av appene dine. Dette vil delvis oppnås gjennom forbedringer av Android-runtime, som lar apper starte raskere og konsumere mindre minne (selv om Gary ikke fant dette i hastighetstesten G ved bruk av en eldre enhet).

I et forsøk på å forbedre stabiliteten vil Google også begrense tilgangen til private API-er. Du kan finne en liste over de som blir greylistet her. Google lover at offentlige alternativer vil bli gjort tilgjengelig i alle tilfeller.

UI-endringer - gestusnavigasjon og mørk modus

Fra Beta 3 kan devs nå velge å støtte det "mørke temaet" ved å utvide temaet fra "Theme.AppCompat.DayNight" eller materielle komponenter. Du kan deretter angi dine egne standardinnstillinger for natttema. Sørg for å gi brukerne muligheten til å bytte temaer som de ønsker også, og tenk på hvordan din layout og synlighet er.

Android Q vil også støtte gestnavigering som nesten alle Android Skin, som vil introdusere nye brukergrensesnitthensyn for brukere. For eksempel: vurder om bevegelser som er bakt i appens unike brukergrensesnitt, vil forårsake forvirring for brukerne. I tilfeller som dette kan utviklere velge om de vil bruke “rektangler for bevegelsesekskludering” for å overstyre systembevegelsene, eller bare å endre måten brukere samhandler med appene sine. Tenk likeledes på å utnytte den ekstra skjerm-eiendommen med tap av knapper mer.

TextClassifier-klassen vil gjøre det mulig for utviklere å oppdage språket til et tekststykke. Til slutt vil smarte handlinger fylle raske svarfelt innenfor varsler med logiske alternativer. Dette vil redusere noe overhead for devs som ikke lenger trenger å kode den funksjonaliteten fra bunnen av.

Som svar på tilbakemeldinger har de siste endringene i Beta 5 lagt til et "kikk" -alternativ for apper som bruker navigeringstegningen, og en rask snarvei for tilgang til assistenten. Beta 6 brakte en følsomhetsinnstilling for ryggbevegelsen, sammen med en 200dp vertikal app-eksklusjonsgrense.

Slik gir du det

Hvis alt som har vekket fantasien (eller gjort deg bare litt engstelig), er det noen måter du kan gi Android Q til å snurre på.

Du kan laste Android Q Beta på en Pixel-enhet. Hvis du ikke tilfeldigvis har en Pixel liggende rundt deg - eller hvis du ikke er opptatt av å installere et beta-operativsystem på din daglige driver - kan du i stedet gå en enklere rute å konfigurere det ved å bruke AVD Manager.Bare åpne opp SDK Manager, så skal du kunne velge et systembilde for Android Q Beta for å laste ned det.

Fra Android Q Beta 4 og nyere er alle API-er nå tilgjengelige for at devs kan begynne å teste appene sine, og Google godtar allerede de som er målrettet mot API 29 i Play Store.

Hva synes du om disse endringene? Kan du tenke på noen nye funksjoner du kan bringe til prosjektene dine? Eller har du mye arbeid nå for å omgå sikkerhetsoppdateringene?

Hvi du er ute etter en martklokke til Android-telefonen, kommer de ikke å mye bedre ut enn amung Galaxy Watch. Deverre kommer gode peifikajoner og deign til en høy kvalitet, men akkurat n...

Du ville ikke late ned en bil, men hva med hoppe inn i en deignkarriere hvor du kan utvikle en i AutoCAD? Dette dybde opplæringettet er bygget for å gi deg utkat på kort tid for bare $ ...

Populær I Dag