我有一个带加速计的设备,通过蓝牙连接到我的Android平板电脑。对于平板电脑,我写了一个简单的应用程序,在achartengine的帮助下绘制了100个最后读取的图形。为此,我创建了一个简单的缓冲区,用于添加新条目并删除第一个:
accxSeries.add(time, accX);
if(accxSeries.getItemCount() >= SensorData.MAX_BUFFER_SIZE) {
Log.d("XX", ""+accxSeries.getItemCount());
accxSeries.remove(0);
}
现在remove(0)
导致
java.lang.NullPointerException
at org.achartengine.model.XYSeries.getY(XYSeries.java:169)
at org.achartengine.model.XYSeries.initRange(XYSeries.java:83)
at org.achartengine.model.XYSeries.remove(XYSeries.java:140)
at com.example.workoutgame.BluetoothLogger.onReadData(BluetoothLogger.java:206)
但有时只是。大部分时间代码运行得很好。我无法追踪此错误的来源。当有蓝牙读取数据时,会调用onReadData
。
我甚至添加了日志记录,因此在发生此错误的情况下我可以看到一些值。但由于某种原因,adb logcat没有向我显示日志功能的所有调用。
我不知道该怎么做,你对如何调试这个错误有一些建议吗?
谢谢。