Я работаю над приложением Android, которое получает данные от RFDuino
и отображает его на Line Chart
.Как сохранить полученные данные в массиве?
В моем Mainactivity
broadcastReceiver
отправляет данные в метод addData
при получении.
private final BroadcastReceiver rfduinoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (RFduinoService.ACTION_CONNECTED.equals(action)) {
upgradeState(STATE_CONNECTED);
} else if (RFduinoService.ACTION_DISCONNECTED.equals(action)) {
downgradeState(STATE_DISCONNECTED);
} else if (RFduinoService.ACTION_DATA_AVAILABLE.equals(action)) {
addData(intent.getByteArrayExtra(RFduinoService.EXTRA_DATA));
}
}
};
Метод AddData выглядит следующим образом:
public void addData(byte[] data) {
View view = getLayoutInflater().inflate(android.R.layout.simple_list_item_2, dataLayout, false);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
String riz = HexAsciiHelper.bytesToHex(data);
t1 = Integer.parseInt(riz, 16);
String testString = String.valueOf(t1);
text1.setText(testString);
dataLayout.addView(view,LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
}
Теперь я хочу, чтобы сохранить значение t1 в массив. Проблема в том, что когда я пытаюсь это сделать, происходит NullPointerException
, и программа останавливается.
Любая помощь будет оценена по достоинству.
Где Вы объявляете 't1'? Также опубликовано целое stacktrace, * npe встречается * не говорит много – wasyl
Я не вижу массив в вашем коде, кроме массива 'data'. Покажите нам код, который вы написали, чтобы попытаться сделать это, и трассировку стека из исключения, пожалуйста. –