09-02 09:05:02.667: D/AndroidRuntime(3472): Shutting down VM
09-02 09:05:02.667: W/dalvikvm(3472): threadid=1: thread exiting with uncaught exception (group=0x417c6e10)
09-02 09:05:02.667: E/AndroidRuntime(3472): FATAL EXCEPTION: main
09-02 09:05:02.667: E/AndroidRuntime(3472): java.lang.NullPointerException
09-02 09:05:02.667: E/AndroidRuntime(3472):  at com.intel.signature.AddSignatureActivity.handleSave(AddSignatureActivity.java:113)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at com.intel.signature.AddSignatureActivity.access$5(AddSignatureActivity.java:103)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at com.intel.signature.AddSignatureActivity$3.onClick(AddSignatureActivity.java:73)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at android.view.View.performClick(View.java:4202)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at android.view.View$PerformClick.run(View.java:17340)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at android.os.Handler.handleCallback(Handler.java:725)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at android.os.Handler.dispatchMessage(Handler.java:92)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at android.os.Looper.loop(Looper.java:150)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at android.app.ActivityThread.main(ActivityThread.java:5125)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at java.lang.reflect.Method.invokeNative(Native Method)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at java.lang.reflect.Method.invoke(Method.java:511)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-02 09:05:02.667: E/AndroidRuntime(3472):  at dalvik.system.NativeStart.main(Native Method)
部分代码如下:
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_signature);
      button2 = (Button)findViewById(R.id.quit_button);
     button2.setOnClickListener(new OnClickListener() {
         public void onClick(View v)
          {
    if(Flag == Status.END) //start recording
    {
    Flag = Status.RECORD;
    button2.setText("Save");
    handleReset();
    handleRecord();
    }
    else //stop recording
    {
    Flag = Status.END;
    button2.setText("Record");
    handleSave();
    String SS = Integer.toString(FileCount - 1);
    DisplayToast("Recording Complete, Saving File : " + SS);
}
           }
    });
}
private void handleRecord() {
      try {
OutFile = new File(FileDir+"out"+Integer.toString(FileCount)+".txt");
if(!OutFile.exists())  
OutFile.createNewFile();
Out = new FileOutputStream(OutFile);
      } catch (FileNotFoundException e) {
    e.printStackTrace();
      } catch (IOException e) {
    e.printStackTrace();
      }     
}  private void handleSave() {
      List<Point> points = drawView.getPoints();
      List<Long> mTime = drawView.getmTime();
      String pointsData = pointsToString(points, mTime);
      try {
       Out.write(pointsData.getBytes());
  } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Out.close();
FileCount++;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}好像总是运行到Out.write(pointsData.getBytes())时出错,不知道为什么?