如何将接收到的数据存储在数组中?

How to store received data in an array?

我正在开发一个 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 并且程序停止。

如有任何帮助,我们将不胜感激。

声明 ArrayList<Integer> 并在执行空检查后存储 t1 值。

ArrayList <Integer> t1array = new ArrayList <Integer> ();
String riz = HexAsciiHelper.bytesToHex(data);

if (riz != null) {
    Integer t1 = t1 = Integer.parseInt(riz, 16);
    t1array.Add(t1);
}