截击在响应之前的响应时间

问题描述 投票:0回答:2

[我正在尝试通过截击将图像和视频转换为Base64(字符串)来上传它们。

现在的原因是我想向用户显示需要多少时间来上传此数据。

有什么方法可以在击中api调用之后并获得响应之前获得截击响应时间。那将花费多少时间来响应api调用。

我已经尝试过了。

private long mRequestStartTime;

public void performRequest()
{
mRequestStartTime = System.currentTimeMillis(); // set the request start 
time just before you send the request.

JsonObjectRequest request = new JsonObjectRequest(URL, PARAMS, 
    new Response.Listener<JSONObject>() 
    {
        @Override
        public void onResponse(JSONObject response) 
        {
            // calculate the duration in milliseconds
            long totalRequestTime = System.currentTimeMillis() - mRequestStartTime;
        }
    },
    new Response.ErrorListener() 
    {
        @Override
        public void onErrorResponse(VolleyError error) 
        {
            long totalRequestTime = System.currentTimeMillis() - mRequestStartTime;
        }
    });

requestQueue.add(request);

}

from

但是以这种方式,它给了响应时间。

如果有人有解决方案,请分享。

java android android-volley progress
2个回答
0
投票

我相信排球没有开箱即用的选项,您需要自己计算。您将需要更改上传方法,以便可以进行流式上传,以便能够计算已发送的字节数。然后,您的估算上传时间将类似于requiredTime = totalBytes * bytesUploadedSoFar / passedTime


0
投票

您需要自己计算。这是查看响应需要多长时间的一种快速方法:

private long mRequestStartTime;

public void performRequest()
{
    mRequestStartTime = System.currentTimeMillis(); // set the request start time just before you send the request.

    JsonObjectRequest request = new JsonObjectRequest(URL, PARAMS, 
        new Response.Listener<JSONObject>() 
        {
            @Override
            public void onResponse(JSONObject response) 
            {
                // calculate the duration in milliseconds
                long totalRequestTime = System.currentTimeMillis() - mRequestStartTime;
            }
        },
        new Response.ErrorListener() 
        {
            @Override
            public void onErrorResponse(VolleyError error) 
            {
                long totalRequestTime = System.currentTimeMillis() - mRequestStartTime;
            }
        });

    requestQueue.add(request);
}
© www.soinside.com 2019 - 2024. All rights reserved.