Hallo zusammen, ich bin blutiger Anfänger in Java und bin dabei mir eine Android App zu schreiben.
Ich möchte Daten vom Lichtsensor auslesen, das funktioniert aber nur Teilweise.
Dieser Code funktioniert einwandfrei (ScannerLicht.java):
Wenn ich aber mehr Sensordaten abfragen will wie hier:
[JAVA=44]
// Sensordaten
sensorenergie = (TextView)findViewById(R.id.scanner_licht_txt_energie);
sensorenergie.setText(sensor.getPower() + " mA");
sensorname = (TextView)findViewById(R.id.scanner_licht_txt_name);
sensorname.setText(sensor.getName());
sensorvendor = (TextView)findViewById(R.id.scanner_licht_txt_vendor);
sensorvendor.setText(sensor.getVendor());
sensorversion = (TextView)findViewById(R.id.scanner_licht_txt_version);
sensorversion.setText(sensor.getVersion());
[/code]
Dann kommt diese Fehlermeldung:
Was mache ich hier falsch?
Wieso kann ich nicht mehr Sensordaten auslesen?
Ich möchte Daten vom Lichtsensor auslesen, das funktioniert aber nur Teilweise.
Dieser Code funktioniert einwandfrei (ScannerLicht.java):
Java:
package com.lcars.lcarssystem.system;
import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
public class ScannerLicht extends ActionBarActivity {
private static final String TAG =
ScannerLicht.class.getSimpleName();
private TextView textview;
private TextView sensorenergie;
private TextView sensorname;
private TextView sensorvendor;
private TextView sensorversion;
private SensorManager manager;
private Sensor sensor;
private SensorEventListener listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scanner_licht);
// Variable
manager = (SensorManager)getSystemService(SENSOR_SERVICE);
sensor = manager.getDefaultSensor(Sensor.TYPE_LIGHT);
// Sensordaten
sensorenergie = (TextView)findViewById(R.id.scanner_licht_txt_energie);
sensorenergie.setText(sensor.getPower() + " mA");
sensorname = (TextView)findViewById(R.id.scanner_licht_txt_name);
sensorname.setText(sensor.getName());
Wenn ich aber mehr Sensordaten abfragen will wie hier:
[JAVA=44]
// Sensordaten
sensorenergie = (TextView)findViewById(R.id.scanner_licht_txt_energie);
sensorenergie.setText(sensor.getPower() + " mA");
sensorname = (TextView)findViewById(R.id.scanner_licht_txt_name);
sensorname.setText(sensor.getName());
sensorvendor = (TextView)findViewById(R.id.scanner_licht_txt_vendor);
sensorvendor.setText(sensor.getVendor());
sensorversion = (TextView)findViewById(R.id.scanner_licht_txt_version);
sensorversion.setText(sensor.getVersion());
[/code]
Dann kommt diese Fehlermeldung:
Java:
05-15 12:02:19.932 29866-29866/com.lcars.lcarssystem.system E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.lcars.lcarssystem.system, PID: 29866
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lcars.lcarssystem.system/com.lcars.lcarssystem.system.ScannerLicht}: android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:244)
at android.widget.TextView.setText(TextView.java:3888)
at com.lcars.lcarssystem.system.ScannerLicht.onCreate(ScannerLicht.java:56)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
************at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
************at android.app.ActivityThread.access$800(ActivityThread.java:135)
************at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
************at android.os.Handler.dispatchMessage(Handler.java:102)
************at android.os.Looper.loop(Looper.java:136)
************at android.app.ActivityThread.main(ActivityThread.java:5017)
************at java.lang.reflect.Method.invokeNative(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:515)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
************at dalvik.system.NativeStart.main(Native Method)
Was mache ich hier falsch?
Wieso kann ich nicht mehr Sensordaten auslesen?