Android Q för utvecklare: Allt du behöver veta

Författare: Louise Ward
Skapelsedatum: 9 Februari 2021
Uppdatera Datum: 2 Juli 2024
Anonim
Android Q för utvecklare: Allt du behöver veta - Appar
Android Q för utvecklare: Allt du behöver veta - Appar

Innehåll


Ur en användares perspektiv är en ny version av Android vanligtvis en spännande tid. Om du inte gillar något specifikt användargränssnitt, betyder det generellt bättre prestanda, mer stabilitet och en rad nya funktioner.

Läs också: De bästa Android Q-funktionerna du bör känna till

För utvecklare tenderar en uppdatering som Android Q att ge mer blandade känslor. Dessa nya funktioner är fortfarande goda nyheter, vilket möjliggör mer intressant och kraftfullare funktioner i våra appar. Samtidigt representerar förändringarna också mycket arbete eftersom vi skyndar oss att se till att projekt inte bara stöder den nya plattformen och uppfyller dess specifikationer, utan är optimerade för att den ska få bästa möjliga upplevelse.


För detta ändamål hjälper det här inlägget dig med att uppnå snabbhet genom att dela alla viktiga förändringar och utveckling som vi hittills vet om för utvecklare att ha i åtanke.

Detta inkluderar för närvarande all nyutveckling fram till Beta 6. Det är sannolikt sista gången vi uppdaterar det här inlägget före den slutliga utgåvan!

Android Q för utvecklare en överblick - vad du verkligen behöver veta

Här är vad du verkligen behöver veta:

  • Nya platsbehörigheter krävs.
  • Stöd för flera återupptagningar kräver uppenbara ändringar.
  • Scoped lagring kommer att ändra hur du sparar och åtkomst till filer på extern lagring.
  • För att söka efter plats krävs nu FINE-plats.
  • Information som IMEI är nu begränsad.
  • Bakgrundsappar kan inte längre starta förgrundsaktiviteter.
  • Även om det inte är strikt relaterat till Android Q, introduceras nya specifikationer för appikoner.
  • På samma sätt, senare i år, kommer utvecklare att tvingas stödja Android Pie på ett minimum. Varningar visas på appar om de inte följer.
  • Och alla appar kommer att behöva tillhandahålla 64-bitarsversioner i slutet av året.
  • Nya systemgestnavigeringar kan påverka app-användargränssnittet.

Här är några coola nya funktioner du kanske är intresserad av:


  • Multi-CV kommer att möjliggöra mer kraftfull multitasking.
  • Du kan testa förändringar i emulatorn via Android 3.5 Canary release-kanal.
  • Enheterna kan nu få tillgång till mer data från djupsensorer.
  • Devs kan välja att stödja mörkt tema.
  • WiFi-lägen med hög prestanda och låg latens tillgängliga.
  • TextClassifier låter devs identifiera språket för en textbit.
  • MicrophoneDIrection API låter dig välja riktning för mikrofonen när du spelar in.
  • Bubblor möjliggör enklare multitasking och rika aviseringar.
  • Ökat stöd för mediekodek.
  • Dela genvägar kommer att göra det enklare att dela media från appar.
  • Snabbinställningar möjliggör enkel åtkomst till inställningar relaterade till den aktuella appen.
  • Vulkan-stödet pressas hårt.
  • Mer neurala nätverksoperationer.
  • Förbättringar av Android-körtiden hjälper dina appar att lunch snabbare (i teorin).

Fortsätt läsa om du vill ha mer information om alla dessa saker och mer mindre förändringar. Vi tittar också på hur du kan börja testa din app på Android Q just nu.

Platsbehörigheter ser förbättrade säkerhetsalternativ

Varje ny iteration av Android medför nya funktioner som är utformade för att ge en säkrare och privat upplevelse för användare. Den här gången får de mer kontroll över platsinformation. Tidigare kan användare antingen bevilja eller neka tillgång till platsdata grossist. Den här gången kommer de att kunna välja ett tredje alternativ för att bara tillhandahålla den informationen medan appen används - när den körs i förgrunden.

Detta innebär förhoppningsvis att användare inte vägrar att installera en app helt eftersom de inte vill att den ska "titta på dem", även om ordalydelsen som används för tillståndet för bakgrundslokalisering kan vara lite förskräckande:

"Låt app få åtkomst till den här enhetens plats hela tiden?

aj!

Men du känner för det, det betyder att du måste göra några ändringar. Specifikt måste utvecklare som är inriktade på Q lägga till följande rad i deras appmanifest: android.permission.ACCESS_BACKGROUND_LOCATION.

Om du har en äldre app kommer Android att lägga till detta tillstånd utöver ACCESS_FINE_LOCATION eller ACCESS_COARSE_LOCATION som standard.

Mer information om hur du ställer in det här finns från Google här.

Scoped-lagring förändrar hur du får åtkomst till externa filer

Samtidigt som vi handlar om sekretess kan användare också kontrollera åtkomsten till delade filer i mapparna Foton, videor och ljud med nya körtidstillstånd som ersätter READ_EXTERNAL_STORAGE och WRITE_EXTERNAL_STORAGE. Tillgång till mappen Nedladdningar kommer också endast att finnas tillgänglig via systemfilsväljaren, vilket ger användarna total kontroll över vilka filer som görs tillgängliga.

För att konfigurera detta måste du begära nya behörigheter, till exempel READ_MEDIA_IMAGES och sedan komma åt samlingarna via MediaStore API. Du hittar de fullständiga instruktionerna här.

För att motverka kommer appar nu att ha sin egen ”isolerade lagringssandlåda” som ger en mapp som är begränsad till den appen som finns på extern lagring. Detta är avsett att minska behoven för behörigheter, förhoppningsvis vara lite mer flexibel än den interna lagring som för närvarande tillhandahålls. Du måste fortfarande säkerhetskopiera dessa filer genom att flytta dem till MediaStore-samlingarna eller använda Storage Access Framework om du vill att de ska förbli efter att appen har avinstallerats. Det kommer oundvikligen att skapa några hinder i några få unika användningsfall.

Om du vill få åtkomst till filer från andra apps isolerade lagringssandlådor på extern lagring finns det några varningar. Detta är som standard aktiverat för vanliga mediefiltyper (som foton och musik). Om du vill komma åt andra filer som skapats av en separat app måste du dock använda ACTION_OPEN_DOCUMENT och ACTION_OPEN_DOCUMENT_TREE avsikter för att begära åtkomst till en specifik fil (som användaren beviljar eller återkallar).

Fler säkerhetsförändringar

Ett par andra säkerhetsändringar att överväga:

  • Bakgrundsappar kommer inte längre att kunna starta aktiviteter i förgrunden eftersom det kan skada för användare. Du måste istället använda ett högprioriterat meddelande med en fullskärmsintensiv för saker som inkommande samtal.
  • Enheter har standardiserade MAC-adresser på olika Wi-Fi-nätverk som standard (detta var valfritt i Pie).
  • Tillgång till information som IMEI-enhet och serienummer kommer nu att vara begränsad. Mer information här.
  • API: er för skanningsnätverk kräver nu FINE-platstillstånd.
  • Lade till stöd för WPA3 och Enhanced Open Wi-Fi-standarder.
  • Det verkar som att appar inte längre kommer att kunna växla Wi-Fi utan tvingas lita på den nya inställningspanelen.

Framtidssäkerhet - fällbara enheter, multi-CV och neurala nätverk

Android Q tar också ett antal steg för att förbereda sig på hårdvarans framtid. Du vet vad det betyder: hopfällbara! Eller, som Google kallar dem: "innovativa nya skärmar."

Den stora utvecklingen är förbättringar av onResume och onPause. Dessa kommer nu att stödja "multi-CV" och meddela appen när den får fokus. Multi-Resume gör det möjligt för två appar att köra samtidigt utan att pausa (som de gör för närvarande). Detta kommer troligtvis att påverka alla appar i flerfönsterläge (inte bara de som är på fällbara skärmar), vilket i slutändan kommer att föra våra telefoner ännu närmare verkliga skrivbordsliknande prestanda. Om du vill se hur det ser ut just nu kan du prova något liknande genom MultiStar-appen på Samsung (del av Good Lock).

Förutom att återuppta fler, ser Android Q också ändringar på onResume och onPause - kanske några av de mest grundläggande förändringarna vi har sett på ett tag.

Attributet för att ändra storlek på Aktivitetsmanifestet ändras också för att hjälpa till att hantera regelbundet fördubbling i storlek när skärmarna öppnas.

Allt är till stor del goda nyheter för utvecklare som nu behöver oroa sig mindre för hur de ska hantera sina appar som är pausade men synliga. Som sagt introducerar det ännu fler potentiella användningsfall och visningstyper till en redan mycket fragmenterad plattform. Roligt roligt.

Återigen, för att genomföra allt detta måste du göra några ändringar i manifestet och specifikt inkludera taggen: android.allow_multiple_resumed_activities. Från Beta 2 och 3 kommer utvecklare att kunna testa detta själva med hjälp av vikbara emulatorer via AVD.

Neural Networks API 1.2 kommer också, vilket ger 60 nya operationer och förbättrad funktionalitet. Ops inkluderar sådana som ARGMAX, ARGMIN och Quantized LSTM, vilket i huvudsak bör möjliggöra bättre objektdetektering och bildsegmentering.

Mer multitasking med bubblor

Som om sann multitasking inte räckte kommer Android Q också att introducera ännu ett sätt att göra mer än en sak på en gång: bubblor. Dessa bubblor fungerar effektivt som en form av anmälan, men ger mer information och till och med visar hela aktiviteter ovanför vad användaren för närvarande gör. Detta tillåter snabb åtkomst till saker som anteckningar, översättningar och chattar. I huvudsak chatta huvuden då.

bubblor fungerar effektivt som en form av anmälan

Utvecklare kommer att kunna komma åt den nya funktionen via ett API byggt på det nuvarande meddelandesystemet. För att skicka bubblor använder du setBubbleMetadata och tillhandahåller sedan en aktivitet som ska visas i bubblan tillsammans med en ikon.

Dela genvägar och inställningspanelen

Google vill göra det lättare för användare att dela innehåll från appar, och därmed kommer det att introducera "Sharing Shortcuts" för att låta användare hoppa rakt in i en annan app. Utvecklare kommer att kunna publicera ”delmål” för att starta specifika aktiviteter med det bifogade innehållet, och dessa kommer att visas för användare via UI. Från Beta 2 kan du nu ge en förhandsgranskning av de data som delas.

Detta fungerar på liknande sätt som appgenvägar, och så kommer det att vara tillgängligt via ShortcutInfo API. Det kommer också att finnas ett nytt ShareTarget AndroidX-bibliotek, som fungerar för enheter som inte kör Q. Google har delat ett exempelapp för dem som vill kolla hur allt fungerar.

Det verkar att det går snabbare att göra namnet på spelet i allmänhet, med Android Q gör det också lättare att ändra systeminställningar i samband med den nuvarande appen. Detta kommer att vara tillgängligt för devs via API: n för inställningspanelen.

För att visa inställningspanelen behöver du bara använda en avsikt som ACTION_VOLUME med en inställningspanel.

Anslutningsförbättringar

Wi-Fi-stacken har återfakturerats i Android Q för att förbättra sekretess och prestanda och för att göra saker som att hantera IoT-enheter eller föreslå internetanslutningar lättare utan att behöva platstillstånd.

Mer intressant är dock att devs kan komma åt högprestanda och låg latenslägen. Det senare kommer att vara särskilt användbart för spel (och spelströmning!).

Du kan komma åt dessa genom att ringa WiFiManager.WiFiLock.creatWifiLock () och använda WIFI_MODE_FULL_LOW_LATENCY eller WIFI_MODE_FULL_HIGH_PERF.

Nya medialternativ - codec-stöd och djupdata

Devs kommer nu att kunna dra fördel av de djupkänsliga kamerorna. Dynamiska djupbilder kan begäras och kommer att innehålla en JPG, XMP-metadata som beskriver djupelement och en djupförtroppskarta.

Detta kan vara användbart för kameraprogram och bildredigeringsappar, men kanske mer spännande är potentialen för AR-applikationer. Google arbetar med OEM: er för att se till att detta är tillgängligt på alla Q-stödjande enheter.

Android Q kommer också att stödja open source-videokodek AV1, vilket möjliggör strömning av hög kvalitet med lägre bandbreddkrav. Ljudkodning via Opus kommer också. Genom MediaCodecInfo API kommer det nu också att vara lättare att urskilja de återgivningsalternativ som finns tillgängliga på en given enhet.

Ett inbyggt MIDI-API kommer också att tillåta kommunikation med MIDI-enheter via NDK. Den nya API för MicrophoneDirection gör det möjligt för utvecklare att ställa in riktningen för mikrofonen under ljudinspelning. Detta kommer också att standardisera kontrollen över zoombara mikrofoner.

En annan ny funktion är möjligheten att spela in ljud från andra appar. Detta kommer att vara användbart för saker som spelströmning, textning och översättning.

Prestanda uppgraderad - Vulkan och Android Runtime

Speldevs bör dra nytta av förbättrat Vulkan-stöd över hela linjen. Googles uttalade mål är att se till att API: n stöds på alla 64-bitars enheter som kör Android Q. Företaget arbetar också med en standard och uppdaterbar OpenGL-drivrutin för enheter byggda på Vulkan. Android Q kommer också att lägga till experimentellt stöd för ANGLE - ett abstraktionslager som bör göra det möjligt för spel med OpenGL ES att dra fördel av Vulkans prestanda och stabilitet. OpenGL ES 2.0 stöds också i Q, med stöd för 3.0 som kommer kort därefter.

Du kan också förvänta dig att förbättra allmänna prestanda i dina appar. Detta kommer delvis att uppnås genom förbättringar av Android-runtime, vilket låter appar starta snabbare och konsumera mindre minne (även om Gary inte hittade detta i sitt Speed ​​Test G med en äldre enhet).

För att förbättra stabiliteten kommer Google att begränsa åtkomsten till privata API: er. Du kan hitta en lista över de som grålistas här. Google lovar att offentliga alternativ kommer att göras tillgängliga i alla fall.

UI-ändringar - gestusnavigering och mörkt läge

Från Beta 3 kan devs nu välja att stödja det "mörka temat" genom att utöka sitt tema från "Theme.AppCompat.DayNight" eller materialkomponenter. Du kan sedan ställa in dina egna standardinställningar för natttema. Se till att ge användare möjlighet att byta teman som de önskar också, och tänk på hur din layout och synlighet.

Android Q kommer också att stödja gestnavigering som nästan alla Android Skin, som kommer att införa nya användargränssnitt för användarna. Till exempel: överväga om gester bakade i appens unika användargränssnitt kommer att orsaka förvirring för användare. I fall som detta kan utvecklare välja om de ska använda “gestus-uteslutande rektanglar” för att åsidosätta systemgesterna eller helt enkelt ändra användarnas interaktion med sina appar. Tänk också på att utnyttja den extra skärmen fastigheter som förloras av knappar.

Klassen TextClassifier gör det möjligt för utvecklare att upptäcka språket i en textbit. Slutligen kommer smarta åtgärder att fylla snabba svarfält inom aviseringar med logiska alternativ. Detta kommer att minska vissa omkostnader för devs som inte längre behöver koda den funktionen från början.

Som svar på feedback har de senaste ändringarna i Beta 5 lagt till ett "kik" -alternativ för appar som använder navigeringsdragningen och en snabb genväg för åtkomst till assistenten. Beta 6 medförde en känslighetsinställning för ryggen, tillsammans med en 200 dp vertikal app-uteslutningsgräns.

Hur man ger det

Om allt som har väckt din fantasi (eller gjort dig bara lite orolig) finns det några sätt du kan ge Android Q ett snurr.

Du kan ladda Android Q Beta på en Pixel-enhet. Om du inte råkar ha en Pixel liggande dock - eller om du inte är intresserad av att installera ett beta-operativsystem på din dagliga drivrutin - kan du istället gå en enklare väg att ställa in den med hjälp av AVD Manager.Öppna bara SDK Manager och då bör du kunna välja en systembild för Android Q Beta för att ladda ner den.

Från Android Q Beta 4 och senare är alla API: er nu tillgängliga för devs att börja testa sina appar och Google accepterar redan de som är inriktade på API 29 i Play Store.

Vad tycker du om dessa förändringar? Kan du tänka på några nya funktioner du kommer att kunna ta med till dina projekt? Eller har du mycket arbete nu för att komma runt säkerhetsuppdateringarna?

Ett växande antal nyare bilar har nu Android Auto inbyggt, men äkert inte alla av dem. Oavett om du har en ny bil om inte töder Android Auto eller ett äldre fordon om föreg...

10 bästa babyspel för Android

Lewis Jackson

Juli 2024

Det är förmodligen ant att pädbarn inte bör ha dyra martphone eller urfplattor. De har en förkärlek för att bryta dea aker. Men om du är modig kan din mobila e...

Publikationer