2016-01-04 2 views
0

Я пытаюсь сделать приложение монитора сердечного ритма на Android износа, и когда я пытаюсь запустить приложение на устройстве (LG G смотреть R) Як неустранимым Android износа частота сердечных сокращений App

"Unfortunately, app has stopped"

и на Android студии я вижу эту ошибку:

My error

package com.example.ryuu.appka; 

import android.app.Activity; 
import android.os.Bundle; 
import android.support.wearable.view.WatchViewStub; 
import android.widget.TextView; 
import android.hardware.Sensor; 
import android.hardware.SensorEvent; 
import android.hardware.SensorEventListener; 
import android.hardware.SensorManager; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.WindowManager; 

import java.text.SimpleDateFormat; 
import java.util.Calendar; 

public class activity_wear extends Activity implements SensorEventListener { 

private TextView mTextView; 
private static final String TAG = "MainActivity"; 
private TextView mTextViewStepCount; 
private TextView mTextViewStepDetect; 
private TextView mTextViewHeart; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_activity_wear); 

    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub); 
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() { 

     @Override 
     public void onLayoutInflated(WatchViewStub stub) { 
      mTextView = (TextView) stub.findViewById(R.id.text); 
      mTextViewStepCount = (TextView) stub.findViewById(R.id.step_count); 
      mTextViewStepDetect = (TextView) stub.findViewById(R.id.step_detect); 
      mTextViewHeart = (TextView) stub.findViewById(R.id.heart); 
      getStepCount(); 
     } 
    }); 
} 

private void getStepCount() { 
    SensorManager mSensorManager = ((SensorManager)getSystemService(SENSOR_SERVICE)); 
    Sensor mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE); 
    Sensor mStepCountSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER); 
    Sensor mStepDetectSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR); 

    mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL); 
    mSensorManager.registerListener(this, mStepCountSensor, SensorManager.SENSOR_DELAY_NORMAL); 
    mSensorManager.registerListener(this, mStepDetectSensor, SensorManager.SENSOR_DELAY_NORMAL); 
} 

private String currentTimeStr() { 
    Calendar c = Calendar.getInstance(); 
    SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); 
    return df.format(c.getTime()); 
} 

@Override 
public void onSensorChanged(SensorEvent event) { 
    if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) { 
     String msg = "" + (int)event.values[0]; 
     mTextViewHeart.setText(msg); 
     Log.d(TAG, msg); 
    } 
    else if (event.sensor.getType() == Sensor.TYPE_STEP_COUNTER) { 
     String msg = "Count: " + (int)event.values[0]; 
     mTextViewStepCount.setText(msg); 
     Log.d(TAG, msg); 
    } 
    else if (event.sensor.getType() == Sensor.TYPE_STEP_DETECTOR) { 
     String msg = "Detected at " + currentTimeStr(); 
     mTextViewStepDetect.setText(msg); 
     Log.d(TAG, msg); 
    } 
    else 
     Log.d(TAG, "Unknown sensor type"); 
} 


@Override 
public void onAccuracyChanged(Sensor sensor, int accuracy) { 
    Log.d(TAG, "onAccuracyChanged - accuracy: " + accuracy); 
} 

}

Всего гроша Код rce находится на Google Drive

+0

Возможный дубликат [Что такое Исключение нулевого указателя и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how -do-i-fix-it) – Nikola

+0

Добро пожаловать в Stack Overflow. Я ответил на вопросы, связанные с английским языком. –

ответ

0

Похоже, что ваш mTextViewHeart is null. По-видимому, в то время, когда вызывается метод onSensorChanged(), mTextViewHeart еще не инициализирован.

Вы можете предотвратить это, проверив, не является ли оно null перед попыткой вызвать на нем метод.

Также читайте What is a Null Pointer Exception, and how do I fix it?, чтобы лучше понять вашу проблему.

+0

Позор меня, но, честно говоря, я понятия не имею, почему у меня нет здесь; / – Yamiryuu

Смежные вопросы