App: Unterschied zwischen den Versionen

Aus Android Wiki
(→‎Android App programmieren: Tutorial eingefügt)
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Das Wort '''App ''' ist die Abkürzung für die englische Bezeichnung "Application" (dt. Anwendung).
Das Wort '''App ''' ist die Abkürzung für die englische Bezeichnung ''Application'' (deutsch: ''Anwendung'') und bezeichnet eine Anwendung die eine Reihe von Funktionen bereitstellt. Das Wort App bezeichnet dabei nicht nur Anwendungen für mobile Endgeräte.


== Was ist eine App ==
== Was ist eine App ==

Version vom 7. März 2013, 23:21 Uhr

Das Wort App ist die Abkürzung für die englische Bezeichnung Application (deutsch: Anwendung) und bezeichnet eine Anwendung die eine Reihe von Funktionen bereitstellt. Das Wort App bezeichnet dabei nicht nur Anwendungen für mobile Endgeräte.

Was ist eine App

Eine App ist eine Anwendung, vergleichbar mit einem Programm (z. B. Microsoft Word) auf dem Computer. Durch die Installation werden neue Funktionen hinzugefügt oder vorhandene Funktionen verändert beziehungsweise erweitert.
Durch die Installation von Apps wird in der Androidwelt das Smartphone nach dem Geschmack des Benutzers personalisiert.
Da Android modular aufgebaut ist, ist es möglich gewisse Apps durch andere auszutauschen. So ist es möglich, anstatt des standardmäßig installierten Launchers einen anderen zu verwenden (Bsp.: Go Launcher) . Dadurch ist Android unglaublich flexibel und den eigenen Wünschen anpassbar.

Apps kann man, nach ihrem Speicherort, in Systemapps und Userapps unterteilen. Systemapps haben nicht etwa spezielle Berechtigungen, sondern sind schlicht und einfach in der Systempartition (genauer gesagt in /system/app) (vor-)installiert - Userapps befinden sich in der Datenpartition (/data/app). Vorinstallierte Apps sind in der Regel Systemapps.

Arten von Apps

Apps lassen sich grob in folgende Punkte einteilen. Natürlich ist eine Einteilung nicht immer konkret möglich, oder eine App kann auch in mehrere Kategorien vorhanden sein. Innerhalb der Kategorien sind auch Unterkategorien möglich.

  • Entertainment
  • Spiele
  • Internet
  • Mail
  • Messageing
  • Business
  • Performance
  • ...

Dabei muss man beachten, dass jeder für sich eine eigene Einteilung vornehmen kann. Eine nützliche und komediale Einteilung ist natürlich auch folgende:

  • nutzlose Apps
  • nützliche Apps

Apps und Zugriffsrechte

Android Apps benötigen, wie jedes andere Programm auch, gewisse Zugriffsrechte auf Betriebssystemressourccen und Speicherkapazitäten. Android besitzt daher ein bisher einzigartiges Rechtesystem, das in den Android Kern (unter anderem bestehend aus dem linux-Kernel) implementiert ist. Wenn man eine App installiert, muss man bestätigen, dass diese App die Zugriffsrechte, die darunter aufgelistet sind, bekommt und diese auch nutzen kann. Damit weiß der Nutzer immer, was eine App darf und was nicht. Welche Zugriffsrechte eine App hat, kann im Nachhinein unter folgendem Pfad geprüft werden: Einstellungen->Anwendungen verwalten->{gewünschte App}->ein wenig nach unten Scrollen Dort eine Übersicht, welche Zugriffsrechte gewährt wurden. Damit ein Programmierer ein bestimmtes Recht für seine App bekommt, muss er dieses Recht in der AndroidManifest.xml Datei festelegen. Da die App auch nur diese Zugriffsrechte bekommt, die in dieser Datei stehen, kann man dieses Rechtesystem auch nicht umgehen ([1]). Der User sieht genau die Berchtigungen, wie sie in der AndroidManifest.xml steht.

Eine Liste der möglichen Zugriffsrechte ist hier zu finden: [1]

Gefahren

Trotz des Rechtesystems von Android werden immer noch Apps entwickelt, die die Aufgabe haben, den Benutzer und seine Daten auszuspähen. Die Entwickler gehen davon aus, das der User sich die Zugriffsrechte, die er angezeigt bekommt, nicht im einzelnen durchliest und diese nicht beachtet. Dadurch gibt es leider noch immer Fälle, das sich Leute über Spyware auch für Android beschweren. Das beste Beispiel war eine Telefonie-App, die folgende Zugriffsrechte bei der Installation verlangte:

  • Zugriff auf Speicher
  • Zugriff auf SMS
  • Zugriff auf Google-Dienste
  • Zugriff auf kostenpflichtige Dienste
  • Zugriff auf Telefonbuchdaten
  • Zugriff auf Netzwerkdienste
  • ...

Daher ein wichtiger Hinweis: Immer die Zugriffsrechte prüfen, die eine App benötigt, wenn es sich offensichtlich um eine Zugriffsrecht handelt, die diese App für die (beabsichtigte) Funktionsweise nicht benötigt, sollte man sich eine Alternative suchen.


Eingeforderte Zugriffsrechte verwalten

Das Android-System hat keine eingebaute Funktion um die von Apps eingeforderten Zugriffsrechte zu verwalten. Um die Verwaltung der Zugriffsrechte denoch zu ermöglichen gibt es verschieden Ansätze. Man unterscheidet diese hauptsächlich in drei Gruppen:


Verwalten der Zugriffsechte durch:

  • Modifikation des Systems
  • Modifikation der App.
  • Verbieten der Zugriffsrechte mit Root


Modifikation des Systems

Bei dieser Methode wird die Datei, die für die Vergabe der Zugriffsrechte verantwortlich ist, modifiziert. Diese Modifikation ermöglicht in Verbindung mit einer speziellen App die separate Rechteverwaltung. Dabei wird nicht der Zugriff selber sondern die Daten die die App erhält geändert. Es kann somit zu keinen Fehlern bei der Ausführung der App kommen.

Weiterführende Informationen: PDroid

Modifikation der App

Das Modifizieren einer App kann möglicherweise die Lizenzbedingungen des jeweiligen Rechteinhabers verletzen und somit strafbar sein.

Das Modifizieren der Manifest-Datei ist eine einfache Methode die Zugriffsrechte einer App einzuschränken. Es kann bei dieser Methode zu Fehlern in der Ausführung der verwalteten App kommen, da die App davon ausgeht das ihr die Zugriffsrechte zu Verfügung stehen.

Verbieten der Zugriffsrechte mit Root

Das Verbieten der Zugriffsrechte ist ebenfalls eine einfache Methode die jedoch Root benötigt. Bei dieser Methode wird mit einer App (z.B. LBE Privacy Guard) die Root-Rechte hat der Zugriff auf die angeforderten Daten verboten. Bei dieser Methode kann es ebenfalls Probleme in der Ausführung der verwalteten App kommen.

Android App programmieren

Apps werden in den meisten Fällen von Privatpersonen programmiert und veröffentlicht. Die Programmierung der Androidapps erfolgt mit Hilfe der Programmiersprache Java, die schon von den Handys mit älteren Betriebssystemen entwickelt wurden. Durch Java wird eine Kompatiblität mit allen Androidversionen gewährleistet.

Die Programmierung von Apps wird in diesem Artikel nicht weiter erklärt. Für weitere Informationen besuche bitte dieses WikiBook. Ein schnelles und einfaches Tutorial für Programmierer mit ein wenig Erfahrung hat Jan Kammerath mit Android App Programmieren geschrieben.

Veröffentlichen von Apps

Die beste Möglichkeit seine Apps zu vertreiben, ob nun kostenfrei oder kostenpflichtig, ist der Android Market. Um Apps im Market veröffentlichen zu können, muss man sich bei Google als Entwickler anmelden und eine Gebühr von 25 $ entrichten, die über eine Kreditkarte oder dem Google Checkout zu zahlen sind. Damit soll ein Überfüllen des Markets von sinnlosen Apps eingegrenzt werden. Nachdem man sich im Market als Entwickler registriert hat, kann man seine App hochladen. Dafür benötigt man folgende Angaben:

  • .apk-Datei
  • Screenshot
  • Werbegrafik (optional)
  • Sprache
  • Titel
  • Beschreibung
  • Werbetext

Nachdem man die App hinzugefügt hat, wird diese auch sofort im Market gelistet. Eine Freischaltung durch einen Googlemitarbeiter ist nicht notwendig. Wenn eine App nicht den inhaltlichen Vorgaben entspricht, so wird diese, nachdem sie gemeldet wurde, von einem Googlemitarbeiter geprüft und ggf. entfernt. Neu ist ein von Google eingeführter Algorithmus, der den Inhalt einer App prüft und wie eine Art Virenscanner schädliche Apps aus dem Play Store entfernt. Dieser Programmcode wird nach eigenen Angaben stätig weiterentickelt um so die Sicherheit im Play Store zu gewährleisten.


<references>