Richtlinien zur App-Entwicklung
(EN google-translate)
(PL google-translate)
Unter folgendem Link finden sich Richtlinien zur Entwicklung von Android-Apps für den Google-Play-Store:
https://developer.android.com/guide/index.html
Klar, dass eine App scannen sollte, ob die notwendigen Systemvoraussetzungen auf dem Zielgerät erfüllt sind und natürlich sollte man bei Google-Play-Store diese Systemvoraussetzungen angeben.
Klar auch, dass die eigene App sich möglichst an jede Bildschirmauflösung automatisch anpassen sollte. Dies kann in Processing geschehen, indem alles relativ zu den Parametern width und height dimensioniert wird.
Intersssant: Apps können Services im Hintergrund starten und auch Module anderer Apps aufrufen. Für die ersten Gehversuche dürfte das aber noch nicht so interessant sein.
Threading
Der Hauptprozess sollte wenig Resourcen beanspruchen. Alles, was sich aufhängen kann, oder sehr resourcenintensiv ist, sollte in einem gesonderten Thread laufen.
Features in Mainfest eintragen
In die Manifestdatei wird eingetragen, welche Features die eigene App benötigt. Beispiel:
<manifest ... > <uses-feature android:name="android.hardware.sensor.compass" android:required="true" /> ... </manifest>
Code 0-1: Ausschnitt aus der Manifestdatei.
Ein Programm kann prüfen, ob das System, auf dem es läuft ein Feature besitzt:
PackageManager pm = getPackageManager(); if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) { // This device does not have a compass, turn off the compass feature disableCompassFeature(); }
Code 0-2: Prüfen, ob der Kompass auf dem Zielsystem vorhanden ist.
API-Level-Eintrag in der Manifestdatei
Jede Android-Version setzt einen bestimmten API-Level um. In der Manifestdatei sollte stehen, welches der minimale Level ist, mit der die App noch läuft und den maximalen Level, für die die App noch optimiert wurde, Beispiel:
<manifest ... > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> ... </manifest>
Code 0-3: Eintrag der API-Levels.
Bei versierteren Apps kann die Bandbreite der geeigneten Plattformen auch erhöht werden, ohne bei neueren Versionen Komfort einzubüßen, indem bestimmte Funktionalitäten bei zu niedrigen Versionen ausgeschaltet werden:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { // Running on something older than API level 11, so disable // the drag/drop features that use ClipboardManager APIs disableDragAndDrop(); }
Code 0-4: Deaktivieren einer Funktionalität bei zu niedriger Betriebssystemversion.