App-Entwicklung -> für welche Android-Version?

  • Antworten:16
Jürgen
  • Forum-Beiträge: 10

13.01.2013, 19:52:47 via Website

hallo,

Ich will nun in die App-Entwicklung einsteigen. Die erste geplante App dürfte noch recht einfach gestaltet sein.

Da ich möglichst viele Interessenten ansprechen möchte sollte die App dann auch unter möglichst vielen Android-Versionen lauffähig sein.

Jetzt stellt sich für mich die Frage auf welcher Basis ich mich da nun einarbeiten soll:

  • Einstieg auf der Basis von Android 2.x
oder

  • gleich mit Android 4.x
Kann man mit dem SDK für 4.x auch abwärtskompatibel entwickeln?

Gruss
Jürgen

Antworten
Lukinator
  • Forum-Beiträge: 2.519

13.01.2013, 21:22:21 via App

Minimum nehme ich immer 2.1
Maximum das neueste.
Und kompilieren immer das neuste.

Challenger me von Quizduell : yolopolooreo
(Schreibt mir dann da auch euren AndroidPIT Namen :D )

Antworten
Appsoluts
  • Forum-Beiträge: 304

14.01.2013, 03:06:18 via Website

Jürgen
hallo,

Ich will nun in die App-Entwicklung einsteigen. Die erste geplante App dürfte noch recht einfach gestaltet sein.

Da ich möglichst viele Interessenten ansprechen möchte sollte die App dann auch unter möglichst vielen Android-Versionen lauffähig sein.

Jetzt stellt sich für mich die Frage auf welcher Basis ich mich da nun einarbeiten soll:

  • Einstieg auf der Basis von Android 2.x
oder

  • gleich mit Android 4.x
Kann man mit dem SDK für 4.x auch abwärtskompatibel entwickeln?

Gruss
Jürgen

Du kannst mittels Support Librarys auch abwärtskompatibel entwickeln !
http://developer.android.com/tools/extras/support-library.html

Imagine Box

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

14.01.2013, 09:24:27 via Website

Lukinator
Minimum nehme ich immer 2.1
Maximum das neueste.
Und kompilieren immer das neuste.
Ich mache das auch ähnlich, aber nur weil die Admob Bibliothek das erfordert.
Ansonsten würde ich auch gegen genau dieselbe Version kompilieren, wie der minSdk eingestellt ist, oder zumindest so, dass die XML Attribute, die du unbedingt brauchst (App2SD) verfügbar sind.
Sonst läufst du Gefahr versehentlich Funktionen aus höheren API Leveln zu benutzen und merkst das nicht zum Kompilierzeitpunkt.
Dann installiert sich das jemand auf niedrigen API Leveln und die App fliegt ihm um die Ohren.

Wenn man die Wahl hat, sollte man Compile-Time-Errors IMMER Runtime-Errors vorziehen.

Ansonsten einfach mal die aktuellen Statistiken zur Versionsverteilung bei Android angucken.
Ich würde auf jeden Fall kompatibel zu Android 2.x programmieren, sonst schließt du fast die Hälfte der Nutzer aus.
Meine Apps laufen sogar schon ab 1.6 und es gibt tatsächlich einige aktive Nutzer mit dieser Version (dreistellige Zahl).

Bisher hatte ich da nur ein einziges mal das Problem, dass eine Funktion gefehlt hat, die ich dringend brauchte und zwar das Auslesen von EXIF Daten aus JPEGs. Das mache ich dann halt per Reflection, so dass es auf 1.6 einfach nicht aufgerufen wird.

Antworten
Daniel
  • Forum-Beiträge: 177

14.01.2013, 10:16:18 via Website

Bei meinen Apps liegt der Anteil der Nutzer mit Android 4.x bei 30-40%, also würde ich empfehlen Android 2.x kompatibel zu arbeiten. Als Minimum würde ich 2.3 wählen, da diese Version einen großen Sprung darstellte und alle Versionen darunter zusammen auf keine 10% kommen.

Wenn du dich gerade erst einarbeitest wirst du ohnehin kaum Unterschiede feststellen können, da diese in den Details liegen mit denen ein Anfänger nichts zu tun hat.

Antworten
Jürgen
  • Forum-Beiträge: 10

15.01.2013, 13:24:12 via Website

hallo,

zunächst mal ein Dankeschön für Eure Antworten. Als Neueinsteiger freue ich mich über die nette Aufnahme und Hilfe hier im Forum.

Daniel
Bei meinen Apps liegt der Anteil der Nutzer mit Android 4.x bei 30-40%, also würde ich empfehlen Android 2.x kompatibel zu arbeiten. Als Minimum würde ich 2.3 wählen, da diese Version einen großen Sprung darstellte und alle Versionen darunter zusammen auf keine 10% kommen..

Ich hab hier leider "nur" ein ältere HTC Desire. Das hängt bei Android 2.2.1 fest :-( Geplant war das ich zum Einstieg in die App-Programmierung mir ein NEXUS 4 kaufen wollte. Das ist ja momentan leider nicht möglich.

Gibt es aus der Sicht eines Entwicklers grosse Unterschiede zwischen der Version 2.2.1 und 2.3 ?

Kann ich davon ausgehen das zumindest am Anfang der Einarbeitung es noch relativ egal ist ob man zum Testen nur Android 2.2.1 zur Verfügung hat?

Gruss
Jürgen

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

15.01.2013, 13:28:52 via Website

Jürgen
Kann ich davon ausgehen das zumindest am Anfang der Einarbeitung es noch relativ egal ist ob man zum Testen nur Android 2.2.1 zur Verfügung hat?
Wenn du sowieso als Mindest-API-Level 2.x hast, dann ist es doch fast schon ein Vorteil, wenn du mit dem Gerät auch testest.
Neuere APIs fügen in der Regel nur Funktionen hinzu und eine für 2.x entwickelte App wird auf 4.x problemlos laufen.
Umgekehrt jedoch nicht, wenn du nicht explizit (Support Library) darauf achtest.

Darum auch der Hinweis wenn möglich gegen denselben API Level zu kompilieren, der als Mindest-Level eingestellt ist.
Dann schließt du eine große Fehlerquelle aus.

Antworten
Jürgen
  • Forum-Beiträge: 10

15.01.2013, 14:01:07 via Website

hallo,

Hier im Thread wurde ja erwähnt das es sinnvoll wäre sich auf 2.3 als Mindestversion festzulegen. Da würde dann mein HTC leider rausfallen. Daher auch die Überlegung mir ein Nexus 4 zu kaufen. (natürlich auch weil es gegenüber meinem HTC deutlich moderner ist ;-)

Oder ist der Unterschied zwischen der 2.2.1 und der 2.3 nicht so gross das es jetzt gleich den Kauf eines neuen Gerätes mit einer Android-Version > 2.2.1 rechtfertigt? Zumindest während der Lernphase in der ich mich in die App-Programmierung einarbeite.

Gruss
Jürgen

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

15.01.2013, 15:10:56 via Website

2.3 wurde gesagt ... es wurde aber auch 2.0 gesagt ... und ich entwickle für 1.6 :)

Also fang einfach erstmal an. Dafür ist es erstmal halbwegs egal, ob deine Android Version schon älter ist.
Testen kannst Du jede beliebige Version auch auf dem Emulator.

Antworten
Jürgen
  • Forum-Beiträge: 10

15.01.2013, 15:44:57 via Website

hallo,

Rafael K.
Also fang einfach erstmal an. Dafür ist es erstmal halbwegs egal, ob deine Android Version schon älter ist.
Danke für den Tipp.

Ergänzend dazu folgende Frage:

Gibt es eine Übersicht welche Änderungen es jeweils bei den Updates von Android aus Sicht des Entwicklers gibt?

Gruss
Jürgen

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

15.01.2013, 19:06:10 via Website

2.3 wurde gesagt ... es wurde aber auch 2.0 gesagt ... und ich entwickle für 1.6

Ich ebenfalls.
Nur weil jemand "2.3" sagt (ohne das zu begründen), ist es nicht gleich als sinnvoll anzusehen ;)

Antworten
Daniel
  • Forum-Beiträge: 177

15.01.2013, 19:18:46 via Website

and dev

Nur weil jemand "2.3" sagt (ohne das zu begründen), ist es nicht gleich als sinnvoll anzusehen ;)
Naja, die Begründung die genannt wurde ist, dass 2.3 ein Release mit vielen Änderungen war. Darunter waren auch Dinge die für beinahe alle Apps relevant sind wie z.Bsp. das neue UI Theme und die Unterstützung für XL Screens. Aber ich stimme euch zu, für einen Anfänger ist es völlig egal ist ob er 2.3 oder 1.6 verwendet.

— geändert am 15.01.2013, 19:19:16

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

15.01.2013, 19:59:24 via Website

"Als Minimum würde ich 2.3 wählen, da diese Version einen großen Sprung darstellte"
Inwiefern ist das eine Begründung dafür, nicht mit 2.1 oder 1.6 als minSdk zu arbeiten?

"und alle Versionen darunter zusammen auf keine 10% kommen."
Das würde ich als Begründung durchgehen lassen, sofern 1.6 als minSdk irgendwelche signifikanten Hürden für ein Projekte darstellen würde.

Antworten
Christian
  • Forum-Beiträge: 307

16.01.2013, 12:08:41 via Website

Hi,

vielleicht noch ganz interessant für die ganze Thematik "mit welcher Version fange ich an zu entwickeln" ist die Übersicht von Google.

Alle 14 Tagen gibt Google eine Statistik heraus die die Verwendung/ Verbreitung verschiedener Android Version anzeigt.
Link: https://developer.android.com/about/dashboards/index.html

Aber Achtung es werden NUR die Daten des Google Play Store für die Datenerfassung heran gezogen.

mfg Christian

— geändert am 16.01.2013, 12:11:52

Antworten
Martin Holms
  • Forum-Beiträge: 4

16.01.2013, 16:31:00 via Website

Hallo allerseites!
Ich hab auch eine Frage zu diesem Thema.
Ich habe eine App erstellt mit Minimum 2.3 und Target 4.2...

jetzt erscheint in einer Funktion eine "deprecated" Warnung. Kann ich die Warnung ignorieren? Wird diese Funktion, die in API 16 "deprecated" wurde, trotzdem auf einem Android 4.2 Handy laufen?

Antworten
Daniel
  • Forum-Beiträge: 177

16.01.2013, 21:52:05 via Website

Martin Holms
jetzt erscheint in einer Funktion eine "deprecated" Warnung. Kann ich die Warnung ignorieren? Wird diese Funktion, die in API 16 "deprecated" wurde, trotzdem auf einem Android 4.2 Handy laufen?
Ja, sie wird auch auf dem Android 4.2 Handy laufen. Wenn die Funktion "deprecated" ist, heißt das, dass sie nicht mehr weiterentwickelt wird und wahrscheinlich durch eine andere Funktion ersetzt wurde. Wenn möglich solltest du es vermeiden derartige Funktionen zu nutzen, aber du musst dir auch keine Sorgen machen, dass Google sie in eine der nächsten Versionen entfernen würde.

Antworten