Android Q til udviklere: Alt hvad du har brug for at vide

Forfatter: Louise Ward
Oprettelsesdato: 9 Februar 2021
Opdateringsdato: 2 Juli 2024
Anonim
Exclusive: This is Android Q’s New Gestures - No More Back Button?
Video.: Exclusive: This is Android Q’s New Gestures - No More Back Button?

Indhold


Fra en brugers perspektiv er en ny version af Android normalt en spændende tid. Medmindre du tilfældigvis ikke kan lide et bestemt UI-element, betyder det generelt bedre ydelse, mere stabilitet og en række nye funktioner.

Læs også: De bedste Android Q-funktioner, du skal kende

For udviklere har en opdatering som Android Q en tendens til at give flere blandede følelser. Disse nye funktioner er stadig gode nyheder, hvilket muligvis giver mulighed for mere interessant og kraftfuld funktionalitet i vores apps. Samtidig repræsenterer ændringerne også meget arbejde, da vi skynder os at sikre, at projekter ikke kun understøtter den nye platform og opfylder dens specifikationer, men optimeres, så den giver den bedst mulige oplevelse.

Med henblik herpå vil dette indlæg hjælpe dig med at komme op i hastigheden ved at dele alle de vigtige ændringer og udviklinger, vi hidtil har kendt for udviklere at huske.


Dette inkluderer i øjeblikket alle nye udviklinger op til Beta 6. Dette er sandsynligvis sidste gang, vi opdaterer dette indlæg før den endelige udgivelse!

Android Q til udviklere med et overblik - hvad du virkelig har brug for at vide

Her er hvad du virkelig har brug for at vide:

  • Nye placeringstilladelser kræves.
  • Support til multi-CV kræver åbenlyse ændringer.
  • Scoped-lagring ændrer, hvordan du gemmer og får adgang til filer på eksternt lager.
  • Scanning efter placering kræver nu FINE placering.
  • Oplysninger som IMEI er nu begrænset.
  • Baggrundsapps kan ikke længere starte forgrundsaktiviteter.
  • Selvom det ikke er strengt relateret til Android Q, introduceres nye specifikationer for appikoner.
  • På samme måde senere på året bliver udviklere tvunget til at understøtte Android Pie som minimum. Advarsler vises på apps, hvis de ikke overholder.
  • Og alle apps bliver nødt til at levere 64-bit versioner ved udgangen af ​​året.
  • Ny systembevægelsesnavigation kan have indflydelse på appens brugergrænseflade.

Her er nogle seje nye funktioner, som du måske vil være interesseret i:


  • Multi-genoptagelse giver mulighed for mere kraftfuld multitasking.
  • Du kan teste ændringer i emulatoren via Android 3.5 Canary-frigivelseskanalen.
  • Enheder kan nu få adgang til flere data fra dybdesensorer.
  • Enheder kan vælge at understøtte mørkt tema.
  • Høj ydeevne og lav latens WiFi-tilstande tilgængelige.
  • TextClassifier lader devs identificere sproget i et stykke tekst.
  • MicrophoneDIrection API giver dig mulighed for at vælge retningen på mikrofonen, når du optager.
  • Bobler giver mulighed for lettere multitasking og rige meddelelser.
  • Øget support til mediekodecs.
  • Deling af genveje gør det lettere at dele medier fra apps.
  • Hurtige indstillinger giver let adgang til indstillinger, der vedrører den aktuelle app.
  • Vulkan-understøttelse skubbes hårdt.
  • Flere neurale netværksoperationer.
  • Forbedringer af Android-runtime vil hjælpe dine apps med at frokost hurtigere (i teorien).

For flere detaljer om alle disse ting og mere mindre ændringer, fortsæt med at læse. Vi vil også se på, hvordan du kan begynde at teste din app på Android Q lige nu.

Placeringstilladelser se forbedrede sikkerhedsindstillinger

Hver nye iteration af Android medfører nye funktioner designet til at give en mere sikker og privat oplevelse for brugerne. Denne gang får de mere kontrol over placeringsoplysninger. Tidligere kunne brugere enten give eller nægte adgang til engros lokationsdata. Denne gang er de i stand til at vælge en tredje mulighed for kun at give disse data, mens appen er i brug - når den kører i forgrunden.

Dette betyder forhåbentlig, at brugere ikke nægter at installere en app helt, fordi de ikke ønsker, at den skal "se dem", skønt den ordlyd, der bruges til baggrundsplaceringstilladelse, kan være en smule afskrækkende:

”Lad app få adgang til denne enheds placering hele tiden?

Av!

Men du føler det, det betyder, at du bliver nødt til at foretage et par ændringer. Konkret skal udviklere, der er målrettet mod Q, tilføje følgende linje til deres app-manifest: android.permission.ACCESS_BACKGROUND_LOCATION.

Hvis du har en ældre app, tilføjer Android denne tilladelse ud over ACCESS_FINE_LOCATION eller ACCESS_COARSE_LOCATION som standard.

Mere information om, hvordan man opsætter dette, fås fra Google her.

Scoped-opbevaring ændrer den måde, du får adgang til eksterne filer

Mens vi beskæftiger os med privatlivets fred, kan brugerne også kontrollere adgangen til delte filer i mapperne Fotos, Videoer og Audio med nye runtime-tilladelser, der erstatter READ_EXTERNAL_STORAGE og WRITE_EXTERNAL_STORAGE. Adgang til mappen Downloads vil også kun være tilgængelig via systemfilselgeren, hvilket giver brugerne total kontrol over hvilke filer der stilles til rådighed.

For at konfigurere dette, skal du anmode om nye tilladelser som READ_MEDIA_IMAGES og derefter få adgang til samlingerne via MediaStore API. Du kan finde de fulde instruktioner her.

For at modvægte vil apps nu have deres egen "isoleret opbevaringssandkasse", der giver en mappe, der er begrænset til den app, der er placeret på eksternt lager. Dette er beregnet til at reducere behovet for tilladelser, mens det forhåbentlig er lidt mere fleksibelt end det interne lager, der i øjeblikket er til rådighed. Du bliver stadig nødt til at sikkerhedskopiere disse filer ved at flytte dem til MediaStore-samlingerne eller bruge Storage Access Framework, hvis du vil have dem til at forblive efter, at appen er blevet afinstalleret. Det vil uundgåeligt skabe nogle hindringer i et par unikke anvendelsestilfælde dog.

Hvis du ønsker at få adgang til filer fra andre apps isolerede opbevaringssandkasser på eksternt lager, er der nogle advarsler. Dette er som standard aktiveret for almindelige mediefiltyper (som fotos og musik). Hvis du imidlertid ønsker at få adgang til andre filer, der er oprettet af en separat app, skal du bruge ACTION_OPEN_DOCUMENT og ACTION_OPEN_DOCUMENT_TREE til at anmode om adgang til en bestemt fil (som brugeren vil give eller tilbagekalde).

Flere sikkerhedsændringer

Et par andre sikkerhedsændringer, der skal overvejes:

  • Baggrundsapps vil ikke længere være i stand til at starte aktiviteter i forgrunden, da dette kan skurrende for brugerne. Du skal i stedet bruge en meddelelse med høj prioritet med en fuldskærmsindsats til ting som indgående opkald.
  • Enheder har som standard randomiserede MAC-adresser på forskellige Wi-Fi-netværk (dette var valgfrit i Pie).
  • Adgang til information som f.eks. Enhed IMEI og serienummer vil nu være begrænset. Mere information her.
  • API'er til scanningsnetværk kræver nu FINE-placeringstilladelse.
  • Tilføjet support til WPA3 og forbedrede Open Wi-Fi-standarder.
  • Det ser ud til, at apps ikke længere er i stand til at skifte Wi-Fi, i stedet for at blive tvunget til at stole på det nye indstillingspanel.

Fremtidig korrektur - foldbare enheder, multi-CV og neurale netværk

Android Q tager også en række trin for at forberede sig på fremtiden for hardware. Du ved hvad det betyder: sammenklappelige! Eller som Google kalder dem: "innovative nye skærme."

Den store udvikling er forbedringer til onResume og onPause. Disse understøtter nu "multi-CV" og giver besked til appen, når den får fokus. Multi-CV muliggør effektivt, at to apps kan køre samtidigt uden at pause (som de gør i øjeblikket). Dette vil sandsynligvis påvirke alle apps i tilstanden med flere vinduer (ikke kun dem på foldbare skærme), hvilket i sidste ende bringer vores telefoner endnu tættere på ægte desktoplignende ydelse. Hvis du gerne vil se, hvordan det ser ud lige nu, kan du prøve noget lignende gennem MultiStar-appen på Samsung (del af Good Lock).

Ud over multi-genoptagelse ser Android Q også ændringer til onResume og onPause - måske nogle af de mest grundlæggende ændringer, vi har set i et stykke tid.

Attributten til aktivitetsmanifest, der kan ændres, ændres også for at hjælpe med at håndtere regelmæssigt fordobling i størrelse, når skærmene åbnes.

Dette er alt sammen stort set gode nyheder for udviklere, der nu har brug for at bekymre sig mindre om, hvordan de håndterer deres apps, der er sat på pause, men synlige. Når det er sagt introducerer det endnu flere potentielle brugssager og displaytyper til en allerede stærkt fragmenteret platform. Sjovt sjovt.

Igen for at implementere alt dette skal du foretage nogle ændringer i manifestet og specifikt inkludere tagget: android.allow_multiple_resumed_activities. Fra Beta 2 og 3 vil udviklere være i stand til at teste dette ud selv ved hjælp af foldables-emulator via AVD.

Neural Networks API 1.2 kommer også, hvilket bringer 60 nye operationer og forbedret funktionalitet. Ops inkluderer dem som ARGMAX, ARGMIN og Quantized LSTM, som i det væsentlige skulle muliggøre bedre objektdetektion og billedsegmentering.

Mere multitasking med bobler

Som om sand multitasking ikke var nok, introducerer Android Q også en anden måde at gøre mere end én ting på én gang: bobler. Disse bobler fungerer effektivt som en form for anmeldelse, men giver mere information og viser endda hele aktiviteter oven på, hvad brugeren i øjeblikket laver. Dette giver hurtig adgang til ting som noter, oversættelser og chats. Hovedsagelig chathoveder derefter.

bobler fungerer effektivt som en form for anmeldelse

Udviklere vil være i stand til at få adgang til den nye funktion gennem en API bygget oven på det nuværende varslingssystem. For at sende bobler bruger du setBubbleMetadata og giver derefter en aktivitet, der skal vises i boblen sammen med et ikon.

Dele genveje og indstillingspanelet

Google ønsker at gøre det lettere for brugerne at dele indhold fra apps, og det vil således introducere "Deling af genveje" for at give brugerne mulighed for at hoppe direkte ind i en anden app. Udviklere vil være i stand til at offentliggøre "delingsmål" for at starte specifikke aktiviteter med det vedhæftede indhold, og disse vises for brugerne via UI. Fra Beta 2 kan du nu give en forhåndsvisning af de data, der deles.

Dette fungerer på samme måde som appgenveje, og det vil derfor være tilgængeligt via ShortcutInfo API. Der vil også være et nyt ShareTarget AndroidX-bibliotek, der fungerer for enheder, der ikke kører Q. Google har delt en prøve-app for dem, der vil tjekke, hvordan alt dette fungerer.

Det ser ud til at gøre tingene hurtigere er navnet på spillet generelt, med Android Q gør det også lettere at ændre systemindstillinger i sammenhæng med den aktuelt kørende app. Dette vil være tilgængeligt for devs via API til indstillingspanel.

For at få vist indstillingspanelet, skal du blot bruge en hensigt som ACTION_VOLUME med en indstillingspanelhandling.

Forbindelsesforbedringer

Wi-Fi-stakken er blevet refactoreret i Android Q for at forbedre privatlivets fred og ydeevne og for at gøre ting, som f.eks. Styring af IoT-enheder eller foreslå internetforbindelser lettere uden brug af tilladelse til placering.

Mere interessant er imidlertid, at devs vil være i stand til at få adgang til højtydende og lav latenstilstande. Det sidstnævnte vil være særligt nyttigt til spil (og streaming af spil!).

Du kan få adgang til disse ved at ringe til WiFiManager.WiFiLock.creatWifiLock () og bruge WIFI_MODE_FULL_LOW_LATENCY eller WIFI_MODE_FULL_HIGH_PERF.

Nye medieindstillinger - codec support og dybdedata

Devs vil nu være i stand til at drage fordel af disse dybdesensor-kameraer. Dynamiske dybdebilleder kan anmodes om og vil indeholde en JPG, XMP-metadata, der beskriver dybdeelementer og et dybdefortrolighedskort.

Dette kan være nyttigt til kameraapps og billedredigeringsapps, men måske mere spændende er potentialet for AR-applikationer. Google samarbejder med OEM'er for at sikre, at dette er tilgængeligt på alle Q-understøttende enheder.

Android Q understøtter også open source-videokodek AV1, som giver mulighed for streaming af høj kvalitet med lavere båndbreddekrav. Lydkodning via Opus kommer også. Gennem MediaCodecInfo API vil det nu også være lettere at skelne de gengivelsesindstillinger, der er tilgængelige på en given enhed.

Et indbygget MIDI API tillader også kommunikation med MIDI-enheder via NDK. Den nye API for MicrophoneDirection giver udviklere mulighed for at indstille mikrofonens retning under lydoptagelse. Dette vil også standardisere kontrollen over zoombare mikrofoner.

En anden ny funktion er muligheden for at optage lyd fra andre apps. Dette vil være nyttigt til ting som streaming af spil, billedtekst og oversættelse.

Opgradering af ydelse - Vulkan og Android Runtime

Game devs bør drage fordel af forbedret Vulkan support overalt. Googles erklærede mål er at sikre, at API'en understøttes på alle 64-bit-enheder, der kører Android Q. Virksomheden arbejder også på en standard og opdaterbar OpenGL-driver til enheder, der er bygget på Vulkan. Android Q tilføjer også eksperimentel understøttelse af ANGLE - et abstraktionslag, der skal gøre det muligt for spil, der bruger OpenGL ES, at drage fordel af Vulkans ydelse og stabilitet. OpenGL ES 2.0 understøttes også i Q, hvor support til 3.0 kommer kort derefter.

Du kan også forvente at se forbedret generel ydelse på tværs af dine apps. Dette opnås delvist gennem forbedringer af Android-runtime, som giver apps mulighed for at starte hurtigere og forbruge mindre hukommelse (skønt Gary ikke fandt dette i sin Speed ​​Test G ved hjælp af en ældre enhed).

I et forsøg på at forbedre stabiliteten vil Google også begrænse adgangen til private API'er. Du kan finde en liste over dem, der grålistes her. Google forpligter sig til, at offentlige alternativer vil blive gjort tilgængelige i alle tilfælde.

UI-ændringer - gestusnavigation og mørk tilstand

Fra Beta 3 kan devs nu vælge at understøtte det "mørke tema" ved at udvide deres tema fra "Theme.AppCompat.DayNight" eller materielle komponenter. Du kan derefter indstille dine egne standardnatstema-indstillinger. Sørg for at give brugerne mulighed for at skifte temaer, som de også ønsker, og tænk over, hvordan dit layout og synlighed er.

Android Q understøtter også bevægelsesnavigering som næsten enhver Android Skin, der introducerer nye brugergrænseflade til brugerne. For eksempel: overvej, om bevægelser, der er bagt i din apps unikke brugergrænseflade, vil forårsage forvirring for brugerne. I tilfælde som dette kan udviklere vælge, om de skal bruge “gestus-ekskluderingsrektangler” til at tilsidesætte systembevægelser eller blot at ændre den måde, brugerne interagerer med deres apps. Tænk ligeledes på at gøre mere brug af den ekstra skærm ejendom, som tabet af knapper giver.

TextClassifier-klassen giver udviklere mulighed for at registrere sproget på et stykke tekst. Endelig vil smarte handlinger udfylde hurtige svarfelter inden for underretninger med logiske indstillinger. Dette vil reducere nogle omkostninger for devs, som ikke længere har brug for at kode denne funktionalitet fra bunden.

Som svar på feedback har de seneste ændringer i Beta 5 tilføjet en "kig" -indstilling for apps ved hjælp af navigationstrækningen og en hurtig genvej til at få adgang til assistenten. Beta 6 bragte en følsomhedsindstilling for bagbevægelsen sammen med en 200 dp lodret app-ekskluderingsgrænse.

Hvordan man giver det en chance

Hvis alt det, der har vakt din fantasi (eller gjort dig bare lidt ængstelig), er der nogle få måder, du kan give Android Q et spin på.

Du kan indlæse Android Q Beta på en Pixel-enhed. Hvis du dog ikke tilfældigvis har en Pixel liggende - eller hvis du ikke er interesseret i at installere et beta-operativsystem på din daglige driver - kan du i stedet gå den lettere rute at konfigurere det ved hjælp af AVD Manager.Åbn bare SDK Manager, og så skal du være i stand til at vælge et systembillede til Android Q Beta for at downloade det.

Fra Android Q Beta 4 og nyere er alle API'er nu tilgængelige for devs til at begynde at teste deres apps, og Google accepterer allerede dem, der er målrettet mod API 29 i Play Store.

Hvad synes du om disse ændringer? Kan du tænke på nye funktioner, som du kan bringe til dine projekter? Eller har du meget arbejde nu for at omgå sikkerhedsopdateringerne?

En telefon med en IR-blater kan fungere om en univerel fjernbetjening, å du kan tyre forkellige elektronike enheder i dit hjem - f.ek. Et tv. Deværre er telefoner med IR-blater ikke å a...

Takket være martphone kan enhver betragte om en amatør fotograf dag. Uanet om du ønker at gøre en karriere ud af det, eller bare for at forkønne dit Intagram-indlæg, kan ...

Vælg Administration