Android-Apps entwickeln - Ideal für Programmiereinsteiger geeignet

Android-Apps entwickeln - Ideal für Programmiereinsteiger geeignet

von: Uwe Post

Galileo Press, 2011

ISBN: 9783836218139

Sprache: Deutsch

383 Seiten, Download: 12411 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Android-Apps entwickeln - Ideal für Programmiereinsteiger geeignet



»Ich sehe was, was du nicht siehst, und das ist ... infrarot.« (unfair spielende Digicam)

8 Kamera und Augmented Reality
(S. 253-254)

Digicams sind bloß für Schnappschüsse gut, und die klitzekleinen Linsen, die in Smartphones üblicherweise verbaut sind, beschränken Aufnahmebedingungen und Bildqualität? Entscheidend ist, was man mit dem aufgenommenen Bild anstellt. Moderne Apps erkennen beispielsweise Barcodes auf Produktverpackungen, andere können Texte lesen und sogar übersetzen – alles mithilfe mächtiger Software im Hintergrund, versteht sich.

Der Fantasie sind keine Grenzen gesetzt, was den Einsatz der in jedem Android- Gerät eingebauten Kamera betrifft. Freilich kostet aufwendige Bildmanipulation mehr Rechenpower, als ein Telefon liefern kann, aber selbst mit einfachen Mitteln lässt sich Erstaunliches bewirken.

Lassen Sie uns also die Digicam des Smartphones verwenden, um den Mückenfang noch spannender zu gestalten: Zunächst ersetzen wir den Bildschirmhintergrund durch einen Blick durch die Kameralinse. Dadurch wird der Bildschirm des Handys ein Fenster in die Wirklichkeit, in die nicht-reale Elemente (die Mücken) eingeblendet werden – der erste Schritt zur Augmented Reality. Der Übersicht halber habe ich für dieses Kapitel eine separate Kopie des Projektverzeichnisses auf die Buch-DVD gepackt. Sie finden es unter dem Namen Mueckenfang3.

8.1 Die Kamera verwenden


Vielleicht ist Ihnen aufgefallen, dass es in der Palette des Layout-Editors keinen View gibt, der so ausschaut, als könne er mit der Kamera zu tun haben. Es gibt lediglich den VideoView, der eignet sich aber nur zum Abspielen von Filmen, nicht für die eingebaute Kamera. Uns bleibt daher nichts anderes übrig, als einen eigenen View zu bauen, dessen Inhalt nichts anderes ist als das Vorschaubild der Kamera. Der beste Ansatz ist es, eine eigene Klasse von einer anderen abzuleiten.

Der CameraView

Die Basisklasse für die eigene Kameravorschau ist der SurfaceView – das ist ein View, dessen sichtbarer Inhalt komplett der Kontrolle des Programmierers unterliegt. Praktisch jeder Inhalt ist möglich – von simplen Zeichnungen über 3-DAction bis hin zum Vorschaubild der Kamera. Erstellen Sie also als Erstes eine neue Klasse namens CameraView, die von SurfaceView erbt:

public class CameraView extends SurfaceView { }


Um auf die Zeichenfläche zuzugreifen, benötigen wir ein SurfaceHolder-Objekt, das mit unserem View über ein Interface kommuniziert. Dieses Interface heißt SurfaceHolder.Callback, und die Klasse CameraView muss es implementieren. Erzeugen Sie außerdem ein Attribut für das eigentliche Kamera-Objekt:

public class CameraView extends SurfaceView implements SurfaceHolder .Callback {
SurfaceHolder surfaceHolder;
Camera camera; ... }


Lassen Sie sich von Eclipse die Methodenrümpfe hinzufügen, die nötig sind, um dem Callback-Interface zu genügen, indem Sie die automatische Fehlerkorrektur die Arbeit erledigen lassen.

Kategorien

Service

Info/Kontakt