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();
}
答案 0 :(得分:2)
这不是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]