【发布时间】:2017-09-28 17:05:35
【问题描述】:
我目前正在通过蓝牙将来自加速度计的大量数据从微控制器记录到一个数组列表中,如果需要,我会使用该数组列表进行绘图、标记和修剪。
稍后,我使用 for 循环 中的 volley 通过字符串 http 请求将此信息发送到捕获此信息并将其存储到 PostgresQL 数据库中的 url。
当前的问题是,如果我在 3 分钟内记录 4500 个值,则应用程序大约需要 4 分钟来发送所有信息。由于我相对较新,我不知道是否有更好的方法,或者我编码的内容是否有问题。
代码如下:
RequestQueue queue = Volley.newRequestQueue(Graphs.this);
for (int i = porIntLeft; i < porIntRight; i++) {
String url = "*URL GOES HERE*/new?x=" + String.valueOf(ValoresX.get(i)) + "&y=" + String.valueOf(ValoresY.get(i)) + "&z=" + String.valueOf(ValoresZ.get(i)) + "&label=\"" + Label + "\"";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queue.add(stringRequest);
我在一个线程中运行它,因为我同时显示了一个 ProgressDialog。
【问题讨论】: