我想水平打印 Java 中一个特定信标的 Rssi 移动平均值的内容。窗口周期大小为 10。但是,使用此代码,它在logcat中垂直打印结果。有谁知道该怎么做?谢谢
for (Map.Entry < String, ArrayList < Float >> Beaconss: BeaconRssWrtId.entrySet()) {
List < Float > NewArray;
List < Float > ArrayOfRss = Beaconss.getValue();
if (ArrayOfRss.size() < 10) //WindowSize
{
NewArray = ArrayOfRss;
} else
NewArray = ArrayOfRss.subList(ArrayOfRss.size() - 10, ArrayOfRss.size()); //WIndowSize
float sum1 = 0;
float sum2 = 0;
for (int i = 0; i < NewArray.size(); i++) {
sum1 = sum1 + NewArray.get(i);
}
float avg1 = sum1 / NewArray.size(); //Moving average
MovingAvg.put(Beaconss.getKey(), avg1); //It contains Estimated RSS using Moving Average
Log.d("MovingAverage", String.valueOf(MovingAvg.get("1")));
在 for 循环上方添加以下内容:
String rssiLine = "";
替换此行:
Log.d("MovingAverage", String.valueOf(MovingAvg.get("1")));
跟:
rssiLine += (String.valueOf(MovingAvg.get("1"))+'');
然后将此行添加到 for 循环的末尾:
Log.d("MovingAverage", rssiLine);