**上請求服務器準備和響應發送整個數據(JSON)到Android客戶端**
{"property":[{"prop_Age":0,"prop_Area":300,"prop_Area_SqFeet":2700,"prop_Area_Unit":" Yards","prop_AvailableFor":"Sale","prop_Desc":"Ashok Vihar Phase-1, Individual House for Sale, Corner Freehold 300g Plot in (i) Block Ashok Vihar Phase I @rs 15 Cr","prop_ID":341,"prop_LastUpdatedDate":"","prop_Lease_ID":0,"prop_NumOfBaths":3,"prop_NumOfBeds":3,"prop_OnFloor":0,"prop_PostedDate":"2011-08-01","prop_Price":1.5E8,"prop_Title":"Ashok Vihar Phase-1, Individual House fo","propertyImages":[{"imageID":1042,"imageUrl":"http://localhost/barun/images/thumb.jpg","propertyID":341,"type":"thumb"},{"imageID":1043,"imageUrl":"http:////localhost/barun/images/gallery.jpg","propertyID":341,"type":"gallery"},{"imageID":1044,"imageUrl":"http:////localhost/barun/images/full.jpg","propertyID":341,"type":"full"}],"propertyLocations":{"proploc_AddressLine1":"ashok vihar phase .............................
爲什麼Android會收到損壞的數據?
* ANDROID接收數據,並從響應中讀取數據,但不能收到原始內容
一些數據截斷從原始響應 *
12-30 17:07:44.599: I/System.out(4348): Buffer data
is{"property":[{"prop_Age":0,"prop_Area":300,"prop_Area_SqFeet":2700,"prop_Area_Unit":"
Yards","prop_AvailableFor":"Sale","prop_Desc":"Ashok Vihar Phase-1, Individual House for Sale, Corner Freehold 300g Plot in
(i) Block Ashok Vihar Phase I @rs 15 Cr","prop_ID":341,"prop_LastUpdatedDate":"","prop_Lease_ID":0,"prop_NumOfBaths":3,"prop_NumOfBeds":3,"prop_OnFloor":0,"prop_P
ostedDate":"2011-08-01","prop_Price":1.5E8,"prop_Title":"Ashok Vihar Phase-1, Individual House
fo","propertyImages":{"phoneNumber1":0,"phoneNumber2":0,"usr_Email":"","usr_ID":341,"usr_�����������������������������������������
�����������������������������������������������������������������������������������������������������������������������������
�����������������������������������������������������������������������������������������������������������������������������
�����������������������������������������������������������������������������������������������������������������������������
�����������������������������������������������������������������������������������������������������������������������������
�����������������������������������������������������������������������������������������������������������������������������`
ANDROID代碼來接收數據:
int bytesRead = -1;
StringBuffer str = new StringBuffer();
byte[] bufferTest = new byte[1*1024];
try {
while ((bytesRead = instream.read(bufferTest)) >= 0) {
String line = new String(bufferTest);
str.append(line.toString());
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Buffer data is" + str);
爲什麼Android客戶端收到損壞的格式的數據?
您應該進一步描述錯誤。也許刪除所有的二進制(?)內容...... – home 2011-12-30 12:53:37
所以..你正在從字節流中讀取(使用上帝知道什麼字符集)並將其轉儲到字符串中,而不指定字節是什麼,不關心讀取的字節數?你期望會發生什麼?使用'InputStreamReader',指定字符集並使用它來代替... – Jens 2011-12-30 13:00:12
請不要關閉它。用戶似乎是新的,並不知道要發佈什麼。他可能會編輯該問題。我遇到過類似的問題我有一個解決方案 – 2011-12-30 13:19:56