将Double转换为ArrayList - Android

时间:2017-01-12 16:57:56

标签: java android arrays arraylist

我有一个使用ArrayList的方法。但是我将加速度计值作为双倍。 如何将Double转换为ArrayList,以便在我实现的方法中找到 TotalAccelermeter 的峰值。 提前致谢。 我还有其他一些问题,比如我的名单是浮动的,而我正在通过Double。

@Override
public final void onSensorChanged(SensorEvent event) {
    // The light sensor returns a single value.
    // Many sensors return 3 values, one for each axis.

    double xx=event.values[0];
    double yy=event.values[1];
    double zz=event.values[2];
    double TotalAccelerate=Math.round(Math.sqrt(Math.pow(xx, 2)
            +Math.pow(yy, 2)
            +Math.pow(zz, 2)));
    sensorText.setText("Total: " + TotalAccelerate);
    Log.i(DEBUG,"Total "+ TotalAccelerate);
    ArrayList<Double> list = new ArrayList<Double>();
    list.toArray(TotalAccelerate);

    findPeaks(TotalAccelerate);
  }


//Find peak values.
    public static ArrayList<Float> findPeaks(List<Float> points) {
    ArrayList<Float> peaks = new ArrayList<Float>();

    if (points == null || points.size() < 1)
        return peaks;

    float x1_n_ref = 0;
    int alpha = 0; //0=down, 1=up.
    int size = points.size();// -1)/100;
    for (int i = 0; i < size; i += 5) {
        float IndexValues = points.get(i);
        if (IndexValues > 140) {
            float delta = x1_n_ref - IndexValues;
            if (delta < 0) {
                x1_n_ref = IndexValues;
                alpha = 1;

            } else if (alpha == 1 && delta > 0) {
                peaks.add(x1_n_ref);

                alpha = 0;
            }

        } else if (alpha == 0) {
            x1_n_ref = IndexValues;
        }
    }

    return peaks;
}

2 个答案:

答案 0 :(得分:0)

您永远不会将TotalAccelerate值实际添加到ArrayList(列表)中。您可以使用ArrayList的add方法执行此操作:

list.add(TotalAccelerate);

正如您在帖子中提到的,调用findPeaks方法还有另一个问题。该方法需要ArrayList<Float>,您打算将ArrayList<Double>传递给它。替换这个:

findPeaks(TotalAccelerate);

用这个:

findPeaks(list);

您需要更改find​​Peaks的方法签名才能使用ArrayList<Double>。在方法内部,如果您需要Float,则需要将值从Double转换为Float。

希望这能让你走上正轨。

答案 1 :(得分:0)

你可以试试这个

<a href="pathToYourImage/image.png">image or whaever you want</a>