それは他の人が中にあなたを助けることができるであろうように、あなたの完全なコードスニペットを投稿ここで私は
int[] RedData = new int[1001];
int peak1=0,peak2=0,peak3=0,index1=0,index2=0,index3=0,pr1,pr2;
double pulseRate=0;
private int i =0;
private OxiParams mOxiParams;
private OnDataChangeListener mOnDataChangeListener;
public void parse(int[] packageDat) {
int red,ir;
red= 256*256*packageDat[1]+256*packageDat[2]+packageDat[3];
ir = 256*256*packageDat[4]+256*packageDat[5]+packageDat[6];
RedData[i] = red;
if(i>20) {
if (RedData[i - 10] >= RedData[i - 20] && RedData[i - 10] > RedData[i] && peak1 == 0) {
peak1 = RedData[i - 10];
index1 = i - 10;
}
if (peak1 > 0 && i > (index1 + 25) && peak2 == 0) {
if (RedData[i - 10] >= RedData[i - 20] && RedData[i - 10] > RedData[i]) {
peak2 = RedData[i - 10];
index2 = i - 10;
}
}
if (peak2 > 0 && i > (index1 + 25) && peak3 == 0) {
if (RedData[i - 10] >= RedData[i - 20] && RedData[i - 10] > RedData[i]) {
peak3 = RedData[i - 10];
index3 = i - 10;
}
}
pr1 = (index2 - index1) * 10;
pr2 = (index3 - index2) * 10;
if (pr1 > 0 && Math.abs(pr1 - pr2) < 100) {
pulseRate = 60000/(pr1 + pr2);
}
}
if((int)pulseRate != mOxiParams.pulseRate)
{
mOxiParams.update((int)pulseRate);
mOnDataChangeListener.onSpO2ParamsChanged();
}
if(i<1000)
{
i++;
}
else
{
i=0;
RedData=new int[1001];
}
}
(データ)メソッドの解析を呼び出す主な活動にアンドロイド 用のコードファイルであるGithub SPO2 Android
アプリですより良い方法。 – user75ponic
ここに完全なコードを投稿することをお勧めします –
あなたのシナリオを想定するのは難しいでしょうか?あなたのコードを投稿してください –