We zullen niet altijd een Android-toestel bij de hand hebben. Zelfs als we het hebben, hebben we het nodig verificar op de een of andere manier werkt onze app prima op zoveel mogelijk verschillende Android-modellen. Dit is waar emulators in het spel komen. Met hen kunnen we voorkomen dat we in een aantal veel voorkomende fouten in de ontwikkeling vallen. Maar zoals we later zullen zien, is het voor een betere beveiliging het beste om echte apparaten te gebruiken.
Creatie en beheer van emulators
We krijgen toegang tot de emulatormanager (Android Virtual Device Manager) via deze knop:
We zullen een venster zien waar we toegang hebben tot twee lijsten: de virtuele apparaten die we hebben gemaakt en de apparaatdefinities. om een te maken virtueel apparaat (AVD) nieuw, klikken we op Nieuw en vullen we het op de volgende manier in:
Hiermee hebben we onze eerste emulator gemaakt. Wanneer we onze AVD's moeten bewerken, selecteren we deze in de lijst en drukken op "Bewerken" om dit scherm opnieuw te zien. Daarin kunnen we details bewerken zoals de camera's aan de voor- en achterzijde, geheugen- en opslagopties, enz. Maar voor de eerste ontwikkelingen laten we deze opties ongemoeid, we zijn alleen geïnteresseerd in "Apparaat" y "Target". Met "Apparaat" we zullen een apparaat kiezen onder de definities die we hebben. Alle veelgebruikte modellen zijn al voorgedefinieerd, dus in principe hoeven we geen nieuwe definities te maken. Met "Target" kunnen we beslissen de versie van het besturingssysteem die onze emulator zal hebben. Tegenwoordig is de meest geschikte waarde API 16 (v 4.1.2), die de meeste terminals dekt. Als we een nieuwe apparaatdefinitie moeten maken, doen we dit via dit scherm:
Normaal gesproken hebben we het niet nodig, aangezien de vooraf gedefinieerde definities de meeste bestaande modellen omvatten. Als we een nieuw apparaatmodel moeten maken - normaal gesproken is dit omdat we er geen hebben met een bepaalde schermresolutie -, zullen we de naam ervan vermelden, schermgrootte in inches en resolutie in pixels. De waarden voor "grootte", "schermverhouding" en "dichtheid" worden automatisch berekend en hoogstwaarschijnlijk hoeven we ze niet aan te raken. We kunnen ook beslissen welke hardware-elementen we willen toevoegen, zoals de versnellingsmeter of GPS, het fysieke toetsenbord, enz.
emulators gebruiken
Als we nog steeds met Android beginnen, zullen we zien dat bij het uitvoeren van ons project automatisch het apparaat (of AVD) wordt gekozen waarop onze applicatie wordt uitgevoerd. Als we het nodig hebben om op een specifiek (echt of geëmuleerd) apparaat te draaien, moeten we eerst een instelling wijzigen. Binnen Uitvoeren → Configuraties uitvoeren, zullen we de configuratie van ons project kiezen en op het tabblad Doel activeren we altijd het apparaat:
Voordelen en beperkingen van emulators
Een emulator is een niet helemaal perfecte benadering van een echt apparaat. Er zijn hulpprogramma's die we niet beschikbaar hebben, meestal gerelateerd aan geavanceerde functies. Bluetooth kan bijvoorbeeld niet worden geëmuleerd, noch Google Maps. Als het zo zou zijn dat we games zouden ontwerpen die OpenGL gebruiken, zou de emulator weinig voor ons betekenen. Dus waarom emulators gebruiken als ze beperkingen hebben en als we een echt apparaat hebben? Er is een heel belangrijke reden, en dat is om ermee om te gaan: verschillende schermformaten die er zijn.
Als we alleen werken met het apparaat dat we hebben, kunnen we ons met de onaangename verrassing bevinden dat we voor de andere formaten de schermen niet goed hebben ontworpen. Een van de manieren om dit te voorkomen is: werk altijd met verhoudingen en relatieve maten en schaalbaar, nooit absoluut. Met de emulator is het voor ons gemakkelijker om andere schermformaten te controleren zonder meerdere apparaten te hoeven kopen.
Dit probleem is erg belangrijk omdat: vandaag is er geen controle over bestaande schermformaten. In de praktijk kunnen we aannemen dat er oneindigheden zijn en dat we niet voor elk een uitdrukkelijke oplossing kunnen bedenken. Omdat de beeldverhouding, of relatie tussen breedte en hoogte, ook variabel is. Een fabrikant kan op elk moment een nieuwe maat ontwerpen en onze toepassing overbodig maken. Daarom moeten we ervan uitgaan dat we ze niet allemaal kunnen controleren, omdat we niet alle bestaande modellen kunnen kopen.
De beste oplossing is om met relatieve waarden te werken en onze applicatie te testen met verschillende schermformaten. We zullen geen 100% beveiliging hebben, maar als onze applicatie goed werkt in een grote verscheidenheid aan formaten, hebben we een grotere kans om op de goede weg te zijn. Daarom is dit de belangrijkste reden om ons echte apparaat te combineren met emulators: om verschillende schermformaten te kunnen proberen zonder alle bestaande apparaten te hoeven kopen.
Meer informatie - Basisgids voor programmeren in Android