Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

  • kaasaanfiets
  • Registratie: Januari 2005
  • Niet online

kaasaanfiets

Extreme Edition of koekoek

Topicstarter
Ik was gister in discussie met iemand die beweerde dat apps op het ene android 4.x toestel wel werkte maar op het andere android toestel met dezelfde versie niet.
Dit zou volgens haar liggen aan de schil die fabrikanten op hun toestel meeleveren zoals b.v. touchwiz of sense.

Klopt dit verhaal? als je 2 verschillende toestellen hebt met beide android 4.4 de één een HTC met een Sense schil en de andere een Samsung met Touchwiz kan een app dan op het ene toestel wel draaien maar op die andere niet?

Ik ging er namelijk vanuit dat die schil verder niks te maken had met de werking en installatie van een app.


En stel je heb 1 app en die wil je op alle android versies laten draaien moet je dan als er bijvoorbeeld 5 verschillende android versies zijn ook 5 verschillende apps maken? of is een app backwards compatible dat als je hem geschreven hebt voor 4.4 hij ook op oudere versies draait.


De reden dat ik dit vraag omdat mevrouw een hele rant begon over dat er 18.000 verschillende android toestellen waren en dat het geen doen was om voor android een app bij te houden want er zaten teveel verschillen in tegenover Apple. Ze was ietwat pro apple aangezien volgens haar bij apple dit probleem niet bestond. Behalve dat bij een oude Iphone zoals de Iphone4 niet meer de nieuwste ios versie op draait en dit dan ook niet meer ondersteund wordt.

  • pa3fre
  • Registratie: Februari 2003
  • Laatst online: 25-08-2024
Voor Android zijn er zo langzamerhand 22 revisies (lees nieuwe versies en subversies). In een nieuwe revisie zitten nieuwe mogelijkheden. wil je van die mogelijkheden gebruik maken, dan zijn lagere revisies uitgesloten. Uiteraard zijn er van de vroegste android toestellen weinig over en hoef je daar in ieder geval geen rekening mee te houden.

Het ligt dus niet aan de schil, of het merk, o.i.d. maar aan welke versie Android wordt gedraaid.

Je schrijft de software dus voor de meest voorkomende revisies, of voor de android versie die jij als doel hebt. Meestal neem je een minimaal revisie nivo. In de nieuwste versies mag je er van uitgaan dat niet iedereen direct van de nieuwste mogelijkheden gebruik wil maken.

[ Voor 23% gewijzigd door pa3fre op 30-03-2015 16:08 ]


  • RagingPenguin
  • Registratie: December 2012
  • Niet online
Binnen Andriod communiceren apps met het systeem via de Andriod Plaform API. De compaliteit hangt af van welk API level je hebt en welke API levels de app ondersteund. Dat een schil daar invloed op uitoefend is in theorie niet mogelijk en zal j ein de praktijk ook niet tegenkomen. In een Andriod app kom je letterlijk dit tegen:
<uses-sdk android:minSdkVersion="10"
android:targetSdkVersion="21"
android:maxSdkVersion="21" />
In het bovenstaande voorbeeld ondersteun je API level 10 tot 21 en heb je geoptimaliseerd voor API level 21. Dit komt overeen met ondersteuning voor andriod 2.3.3 tot 5.0 en geoptimaliseerd voor 5.0. Dit is zonder Play Servies. Met Play servies hoef je voor veel zaken het Andriod Framework API niet aan te schrjven maar gebruik je Play Servies. Dit doe je simpel met:
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
En gebruik je iets als onderstaand om bv de locatie op te vragen:
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
en dit werkt op 2.3+, zonder je maar ook op 1 moment druk te maken om op welk versie je gebruiker zit.

Voor Games is het helemaal simpel omdat OS support in je engine zit en je in je PlayerPrefs(oid) kan bepalen welke versies je ondersteund. Zlefde verhaal voor dingen als xamarin en phonegap.

Kortom: het verhaal van mevrouw slaat nergens op. Andriod is gemaakt om op duizenden verschillende apperataten te draaien en het is geen probleem om cross-versie te schrijven. Andriod 2.3+ is zo'n beetje standaard.

[ Voor 25% gewijzigd door RagingPenguin op 30-03-2015 16:28 . Reden: aanvulling ]