如何将接收到的数据存储在数组中?
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);
}
我正在开发一个 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);
}