Master- Arbeit - Lehrstuhl für Technische Informatik - Universität ...

Master- Arbeit - Lehrstuhl für Technische Informatik - Universität ... Master- Arbeit - Lehrstuhl für Technische Informatik - Universität ...

ti.informatik.uni.tuebingen.de
von ti.informatik.uni.tuebingen.de Mehr von diesem Publisher
28.12.2013 Aufrufe

30 KAPITEL 4. RELEVANTE TECHNOLOGIE ÜBER QR-CODE Abbildung 4.4: Decodierte Information von QR-Code 4.3 QR-Code in Android 4.3.1 Kamara Kontrollieren in Android Bevor ein Android-Smartphone einen QR-Code einscannt, muss dieses zuerst seine Kamera aktvieren. Durch Android API open ( i n t ) ; erhält man Kontrolle über die Kamerafunktion. Diese Funktion open ( i n t ) ; muss in p u b l i c void openDriver ( SurfaceHolder holder ) ; verwendet werden, openDrive ( SurfaceHolder holder ) ; startet den Kamera-Betrieb und initialisiert die Parameter der Hardware. 1 p u b l i c void openDriver ( SurfaceHolder holder ) throws IOException {

4.3. QR-CODE IN ANDROID 31 2 i f ( camera == n u l l ) { 3 camera = Camera . open ( ) ; 4 i f ( camera == n u l l ) { 5 throw new IOException ( ) ; 6 } 7 camera . setPreviewDisplay ( holder ) ; 8 9 i f ( ! i n i t i a l i z e d ) { 10 i n i t i a l i z e d = true ; 11 configManager . initFromCameraParameters ( camera ) ; 12 } 13 configManager . setDesiredCameraParameters ( camera ) ; 14 FlashlightManager . e n a b l e F l a s h l i g h t ( ) ; 15 } 16 } 4.3.2 Decodiereung QR-Code in Android Nach dem erfolgreichen Scanvorgang muss das Smartphone die QR-Code decodieren: Mit der p u b l i c void handleDecode ( Result r e s u l t , Bitmap barcode ) ; Funktion wird der ausgelesene QR-Code entschlüsselt und der geheime Text ausgeben. Zum Schluss wird as Ergebnis auf Handy angezeigt. 1 p u b l i c void handleDecode ( Result r e s u l t , Bitmap barcode ) { 2 i n a c t i v i t y T i m e r . onActivity ( ) ; 3 playBeepSoundAndVibrate ( ) ; 4 S t r i n g r e s u l t S t r i n g = r e s u l t . getText ( ) ; 5 i f ( r e s u l t S t r i n g . e q u a l s (””) ) { 6 Toast . makeText ( CaptureActivity . t h i s , ”Scan f a i l e d ! ” , Toast . LENGTH SHORT) . show ( ) ; 7 } e l s e { 8 I n t e n t r e s u l t I n t e n t = new I n t e n t ( ) ; 9 Bundle bundle = new Bundle ( ) ; 10 bundle . putString (” r e s u l t ” , r e s u l t S t r i n g ) ; 11 r e s u l t I n t e n t . putExtras ( bundle ) ;

4.3. QR-CODE IN ANDROID 31<br />

2 i f ( camera == n u l l ) {<br />

3 camera = Camera . open ( ) ;<br />

4 i f ( camera == n u l l ) {<br />

5 throw new IOException ( ) ;<br />

6 }<br />

7 camera . setPreviewDisplay ( holder ) ;<br />

8<br />

9 i f ( ! i n i t i a l i z e d ) {<br />

10 i n i t i a l i z e d = true ;<br />

11 configManager . initFromCameraParameters ( camera ) ;<br />

12 }<br />

13 configManager . setDesiredCameraParameters ( camera ) ;<br />

14 FlashlightManager . e n a b l e F l a s h l i g h t ( ) ;<br />

15 }<br />

16 }<br />

4.3.2 Decodiereung QR-Code in Android<br />

Nach dem erfolgreichen Scanvorgang muss das Smartphone die QR-Code decodieren:<br />

Mit der<br />

p u b l i c void handleDecode ( Result r e s u l t , Bitmap barcode ) ;<br />

Funktion wird der ausgelesene QR-Code entschlüsselt und der geheime Text<br />

ausgeben. Zum Schluss wird as Ergebnis auf Handy angezeigt.<br />

1 p u b l i c void handleDecode ( Result r e s u l t , Bitmap barcode )<br />

{<br />

2 i n a c t i v i t y T i m e r . onActivity ( ) ;<br />

3 playBeepSoundAndVibrate ( ) ;<br />

4 S t r i n g r e s u l t S t r i n g = r e s u l t . getText ( ) ;<br />

5 i f ( r e s u l t S t r i n g . e q u a l s<br />

(””) ) {<br />

6 Toast . makeText ( CaptureActivity .<br />

t h i s , ”Scan f a i l e d ! ” , Toast .<br />

LENGTH SHORT) . show ( ) ;<br />

7 } e l s e {<br />

8 I n t e n t r e s u l t I n t e n t = new I n t e n t<br />

( ) ;<br />

9 Bundle bundle = new Bundle ( ) ;<br />

10 bundle . putString (” r e s u l t ” ,<br />

r e s u l t S t r i n g ) ;<br />

11 r e s u l t I n t e n t . putExtras ( bundle ) ;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!