Android Android Sensor: Java Problem

tronmaster

Neues Mitglied
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):

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?
 
Habe die Lösung irgendwie herausgefunden:

Java:
        sensorversion = (TextView)findViewById(R.id.scanner_licht_txt_version);
        String stringversion = String.valueOf(sensor.getVersion());
        sensorversion.setText(stringversion);
 

Zurück
Oben