gpt4 book ai didi

Android Volley 库不返回整个响应数据

转载 作者:太空狗 更新时间:2023-10-29 13:28:31 27 4
gpt4 key购买 nike

Volley 库不会返回完整的响应数据。它只返回响应数据的一部分。我正在调用 drupal 服务。下面是我的代码。

public void BoardRoomRequest() {
pdialog = new ProgressDialog(BoardRoom.this);
pdialog.setTitle("Please wait....");
String url = Global_Application.url + "views/boardroom";
Log.d("url========", url);
Map<String, String> params = new HashMap<String, String>();
StringRequest req = new StringRequest(Request.Method.GET,
getApplicationContext(), url, params,
new Response.Listener<String>() {

@Override
public void onResponse(String response) {
// TODO Auto-generated method stub
Log.d("Response", response);

pdialog.dismiss();
}
}, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
Log.d("Error.Response", error.toString());
pdialog.dismiss();
}
});

queue.add(req);
pdialog.show();
}

最佳答案

这不是 Volley! 的问题,而是 logcat 显示有限大小数据的问题(限制)。 (我假设您正在从您的代码中读取 logcat 中的响应)

如果你使用的是eclipse,这里是解决方案

 public void BoardRoomRequest() {
pdialog = new ProgressDialog(BoardRoom.this);
pdialog.setTitle("Please wait....");
String url = Global_Application.url + "views/boardroom";
Log.d("url========", url);
Map<String, String> params = new HashMap<String, String>();
StringRequest req = new StringRequest(Request.Method.GET,
getApplicationContext(), url, params,
new Response.Listener<String>() {

@Override
public void onResponse(String response) {
// TODO Auto-generated method stub

// Log.d("Response", response); //can't display more data

//=========================
longInfo(response); //solution for displaying more data in logcat
//=========================

pdialog.dismiss();
}
}, new ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
Log.d("Error.Response", error.toString());
pdialog.dismiss();
}
});

queue.add(req);
pdialog.show();
}

public void longInfo(String str) {
if(str.length() > 4000) {
Log.i("",str.substring(0, 4000));
longInfo(str.substring(4000));
} else
Log.i("",str);
}

注意: $ adb logcat -g环形缓冲区为 64Kb(消耗 63Kb),最大条目为 4096b,最大有效载荷为 4076b

LogCat 非常依赖于设备。不同手机的坏字符大小和处理方式不同。

也尝试一下:

     import java.util.*;

class Test
{
public static void main(String[] args)
{
System.out.println(Arrays.toString(
"Thequickbrownfoxjumps".split("(?<=\\G.{4})")
));
}
}

output: [Theq, uick, brow, nfox, jump, s]

关于Android Volley 库不返回整个响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18738855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com