android下achartengine界面动态刷新,接受数据就会直接报错
private final Handler mHandler = new Handler(){
public void handleMessage(Message msg){
update();
INPUT_RECEIVE ++;
super.handleMessage(msg);
}
};
public class mThread extends Thread{
public void run(){
try {
input = btSocket.getInputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true){
try {
input.read(inbyte);
byte[] readbuf = (byte[])inbyte;
SendtoList(readbuf);
RemoveZero(x1,x2,y1,y2);
mHandler.obtainMessage(1, 1, 1, inbyte).sendToTarget();
inbyte = new byte[1024];
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public void update(){
dataset.removeSeries(series_1);
dataset.removeSeries(series_2);
series_1.clear();
series_2.clear();
int seriesLength = f_x1.length;
for (int j = 0; j <seriesLength; j++) {
series_1.add(f_x1[j], f_y1[j]);
series_2.add(f_x2[j], f_y2[j]);
}
dataset.addSeries(series_1);
dataset.addSeries(series_2);
firstchartView.invalidate();
}
}
利用handler来改变UI,打算是接收数据直接发送一个msg然后UI更新,但是每次都会报错
如果不使用 firstchartView.invalidate(); 这行就没事,界面当然也不会刷新。。
求教各路大神,初学。。。
logcat
09-21 19:59:53.420: D/AndroidRuntime(12318): Shutting down VM
09-21 19:59:53.420: W/dalvikvm(12318): threadid=1: thread exiting with uncaught exception (group=0x40a251f8)
09-21 19:59:53.430: E/AndroidRuntime(12318): FATAL EXCEPTION: main
09-21 19:59:53.430: E/AndroidRuntime(12318): java.lang.NullPointerException
09-21 19:59:53.430: E/AndroidRuntime(12318): at com.androidversion3.ansyspage.update(ansyspage.java:331)
09-21 19:59:53.430: E/AndroidRuntime(12318): at com.androidversion3.ansyspage$1.handleMessage(ansyspage.java:289)
09-21 19:59:53.430: E/AndroidRuntime(12318): at android.os.Handler.dispatchMessage(Handler.java:99)
09-21 19:59:53.430: E/AndroidRuntime(12318): at android.os.Looper.loop(Looper.java:137)
09-21 19:59:53.430: E/AndroidRuntime(12318): at android.app.ActivityThread.main(ActivityThread.java:4446)
09-21 19:59:53.430: E/AndroidRuntime(12318): at java.lang.reflect.Method.invokeNative(Native Method)
09-21 19:59:53.430: E/AndroidRuntime(12318): at java.lang.reflect.Method.invoke(Method.java:511)
09-21 19:59:53.430: E/AndroidRuntime(12318): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-21 19:59:53.430: E/AndroidRuntime(12318): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-21 19:59:53.430: E/AndroidRuntime(12318): at dalvik.system.NativeStart.main(Native Method)