Benutzer-Werkzeuge

Webseiten-Werkzeuge


kamera

Dies ist eine alte Version des Dokuments!


Zugriff auf die Kamera

kamera/AndroidManifest.xml

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.erstephonegapapp"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />
 
 
<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:resizeable="true" 
    android:anyDensity="true" />
 
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.erstephonegapapp.MainActivity"
            android:label="@string/app_name" 
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>

kamera/src/com/exampe/kamera/MainActivity.java

MainActivity.java
package com.example.erstephonegapapp;
 
import android.os.Bundle;
import android.view.Menu;
import org.apache.cordova.*;
 
public class MainActivity extends DroidGap {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}

kamera/assets/www/lib/css/meinecss.css

meinecss.css
#meldung{
	display:block;
	background:blue;
	color:white;
	height:25px;
	font-size: 16px;
	padding:2px;
	margin:2px;
	text-align:center;
}
#bild{
//	display:none;
	margin-left: auto;
    margin-right: auto;
	width:200px;
}
#btn{
    text-align:center;
	margin-left: auto;
    margin-right: auto;
	margin-bottom:10px;
}
h4{
	text-align:center;
	font-size:60px
}
button{
	margin:5px;
	width: 200px; 
	font-size:45px;
}

kamera/assets/www/index.html

index.html
<!DOCTYPE HTML>
<html>
  <head>
    <title>Cordova</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
 
    <link rel="stylesheet" href="lib/css/meinecss.css" type="text/css"/>
    <script type="text/javascript" charset="utf-8" src="lib/js/cordova-2.5.0.js"></script>
    <script type="text/javascript" charset="utf-8" src="lib/js/meineskripte.js"></script>
  </head>
  <body>
    <h4>Zugriff auf die Kamera</h4>
    <div id="btn">
      <button id="aufnahme">
        Foto aufnehmen
      </button>
      <br/>
      <button id="loeschen">
        Foto l&ouml;schen
      </button>
      <br/>
      <button id="speichern">
        Foto speichern
      </button>
    </div>
 
    <div id="meldung"></div>
    <img id="bild" src="img/rjsfoto.gif" alt="Bild"></img>
  </body>
</html>

kamera/assets/www/lib/js/meineskripte.js

meineskripte.js
var destinationType;
 
window.onload = function() {
	document.getElementById("aufnahme").addEventListener('click',function() {
 
		navigator.camera.getPicture(onSuccess1, onFail, {
			quality : 50,
			destinationType : destinationType.DATA_URL
		});
	});
	document.getElementById("loeschen").addEventListener('click',function() {
 
		document.getElementById('bild').style.display = "none";
 
		document.getElementById("meldung").innerHTML = 'Bildanzeige gel&ouml;scht';
	});
 
	document.getElementById("speichern").addEventListener('click',function() {
		navigator.camera.getPicture(onSuccess2, onFail, {
			quality : 50,
			destinationType : destinationType.FILE_URI,
			saveToPhotoAlbum : true,
			encodingType : navigator.camera.EncodingType.PNG
		});
	});
 
	document.addEventListener('deviceready', function() {
		destinationType = navigator.camera.DestinationType;
	}, false);
 
};
function onSuccess1(imageData) {
 
	document.getElementById('bild').src = "data:image/jpeg;base64," + imageData;
	document.getElementById('bild').style.display = "block";
 
	document.getElementById("meldung").innerHTML=('Aufnahme erfolgreich');
}
 
function onSuccess2(imageData) {
 
	document.getElementById("meldung").innerHTML=('Aufnahme erfolgreich gespeichert');
}
 
function onFail(message) {
	document.getElementById("meldung").innerHTML=('Fehler bei der Aufnahme: ' + message);
	document.getElementById('bild').style.display = "none";
}

In kamera/res/xml/config.xml die Berechtigungen prüfen

In kamera/assets/www/index.html die Cordova-Version prüfen

kamera.1365972697.txt.gz · Zuletzt geändert: 2013/04/14 22:51 (Externe Bearbeitung)