Naar content
Trending apps
  • Inbox by Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger

  • Facebook

Trending games
  • Minecraft Earth

  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

  • The Elder Scrolls: Blades

Trending smartphones
  • OPPO Find X2 Pro

  • Nokia 8.3

  • Xiaomi Mi 10 Pro

  • Huawei P40 Pro

  • Realme X2 Pro

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

Dylansblue

Dylansblue

  • Lid sinds 06 februari 2011
  • Berichten 3
  • Reputatie 0
  • #1
  • 19 februari 2011
  • 13:49

Hello everybody!

Ik had een vraag over de werking van applicaties op verschillende smartphones. Want op Android heb je natuurlijk te maken met verschillende processoren en groottes van de schermen. Want je haalt je applicaties allemaal uit dezelfde Market.

Het is toch zo dat je voor elke processor je applicatie moet compileren? Dus voor 2 verschillende processoren, je applicatie 2x compileren.

En hoe maak je de applicatie optimaal voor een klein scherm en een groot scherm??

Kan iemand dat uitleggen hoe dat allemaal in ze werking gaat??

Alvast bedankt!

Bewerkt (19 februari 2011 13:49)
fifarunnerr

fifarunnerr

  • Lid sinds 13 juli 2010
  • Berichten 1846
  • Reputatie 10
  • #2
  • 19 februari 2011
  • 14:03

Hoezo moet je voor elke processor je applicatie opnieuw compileren? Dat hoeft helemaal niet

Maar in android heb je een layout-grootte die veel gebruikt wordt “dip”. Daarvoor maakt het niet uit of er veel of weinig pixels zijn, het past altijd. Dip is een soort van percentage van je scherm.
Bovendien zijn er “wrap_content” en “fill_parent” om de grootte aan te geven. Die eerste maakt zichzelf zo klein mogelijk. Dus als je een tekst hebt met “Hoi”, dan past die TextView er precies omheen. Fill_parent doet het tegenovergestelde, die maakt zich zo groot mogelijk. Dat is bijvoorbeeld handig als je de hele beedte van het scherm wilt gebruiken.


Wat wel zo is, is dat je schermen hebt van 3“ en van 7” of 10“. Daarvoor moet je een nieuwe layout maken(Layout in Android wordt meestal in een xml-file gemaakt). Standaard heb je een mapje ”layout“ om die in te stoppen, maar je kan ook ”layout-hdpi“, ”layout-land“(van landscape), ”layout-port“ (van portrait-modus) of zelfs ”layout-land-hdpi“ maken.
Die laatste wordt gebruikt als je je toestel/tablet in landscape hebt staan en een hoge resolutie scherm hebt. Voor de grootte van schermen is weer ”small“, ”normal“, ”large“ of zelfs ”xlarge“ om aan te geven hoe groot het scherm is.


Dus als je ”layout-land-xlarge“ maakt, dan wordt deze op extra grote schermen gebruikt(10” bijvoorbeeld).

Maar goed, misschien is deze uitleg wel duidelijker: Supporting Multiple Screens | Android Developers

Bewerkt (19 februari 2011 14:03)
Dylansblue

Dylansblue

  • Lid sinds 06 februari 2011
  • Berichten 3
  • Reputatie 0
  • #3
  • 19 februari 2011
  • 17:49

Ik had in een boek gelezen dat je compiler je code in machinecode ‘vertaald’ en dat het dan maar geschikt is voor 1 type processor. Maar misschien bedoelde ze wel het besturingssysteem i.p.v. de processor?? Moet ik nog maar even uitzoeken..

Voor de rest bedankt! ;-D

Bewerkt (19 februari 2011 17:49)
klwinkel

klwinkel

  • Lid sinds 23 oktober 2010
  • Berichten 951
  • Reputatie 0
  • #4
  • 19 februari 2011
  • 18:05

Je hebt wel gelijk hoor, maar dit zijn java apps, die draaien niet gelijk op.de processor, maar in een virtuele machine (vm), dat is een tussenlaag. Daardoor kunnen java apps op vele typen apparaten draaien, als er maar een java virtuele machine voor is. De android vm heet dalvik, daardoor kunnen android apps op alle android apparaten draaien.
Knap bedacht hè!

Bewerkt (19 februari 2011 18:05)
Dylansblue

Dylansblue

  • Lid sinds 06 februari 2011
  • Berichten 3
  • Reputatie 0
  • #5
  • 19 februari 2011
  • 21:16

Oke, thnx! Dat is idd geniaal bedacht.. Heb ik toch weer wat moois geleerd vandaag!

Bewerkt (19 februari 2011 21:16)

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren