2016-10-19 4 views
0

最初に、私はプログラミングが非常に新しいので、情報の欠如のために私を許してください。以下はシリアル通信を介して私のアンドロイドデバイスをArduinoに接続するためにPhysicaloidを開くためのコードです。今、私はarduinoからアナログ信号を受け取り、配列 "buf"からtVreadに現われています。しかし、私は失敗し、アンドロイドプロットを使用して配列 "buf"をプロットしようとしました。親切に助言してください。ありがとうございました!Androidのグラフにbyte []配列をプロットする

if (mPhysicaloid.open()) { 
     setEnabledUi(true); 

     if (cbAutoscroll.isChecked()) { 
      tvRead.setMovementMethod(new ScrollingMovementMethod()); 
     } 
     mPhysicaloid.addReadListener(new ReadLisener() { 
      @Override 
      public void onRead(int size) { 
       byte[] buf = new byte[size]; 
       Number[] numarray = new Number[size]; 

       mPhysicaloid.read(buf,size); 
       //convert buf to int array 
       for(int i=0;i<size;i++) { 
        numarray[i]= buf[i]; 
       } 
       tvAppend(tvRead, Html.fromHtml("<font color=blue>" + new String (buf) + "</font>")); 
       XYSeries series1 = new SimpleXYSeries(
         Arrays.asList(numarray),SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,"Series1"); 
       LineAndPointFormatter series1Format = new LineAndPointFormatter(
         Color.rgb(0, 200, 0),     // line color 
         Color.rgb(0, 100, 0),     // point color 
         null,         // fill color (none) 
         new PointLabelFormatter(Color.WHITE)); 

       mySimpleXYPlot.addSeries(series1, series1Format); 

      } 


     }); 
    } else { 
     Toast.makeText(this, "Cannot open", Toast.LENGTH_LONG).show(); 
    } 
} 
+0

コードを実行しようとすると、どの例外/エラーメッセージまたは予期しない結果が表示されるのですか? – Nick

+0

上記のコードを実行するとグラフが表示されません。エラーメッセージは表示されません。 –

答えて

0

これが呼び出されるアクティビティのライフサイクルのどの時点でコードスニペットからは明らかではないのですが、それは、それがバックグラウンドスレッドを経由してのonCreate後にも起こる可能性が高いようです。

onRead()実装の最後に、plot.redraw()への呼び出しを追加する必要があります。また、このメソッドが呼び出された回数に応じて、現在持っているものは、呼び出しごとに追加の系列をプロットに追加することになります。

代わりに、コールバックの外でXYSeriesを作成し、それを単にonRead()から更新する必要があります。

+0

ありがとう、ニック!あなたの推薦はうまくいきます!私のonRead()の最後にmySimpleXYPlot.redraw()を追加すると、プロットが生成されます。しかし、私はプロットに数多くのシリーズを再現し、私が問題を解決しようとして失敗したあなたが予期していた問題に直面しています。試してみるためにいくつかのサンプルコードを入力することは可能ですか?どうもありがとうございました! –

+0

.javaファイルを提供してもらえると思いますか? –

関連する問題