gpt4 book ai didi

java - 如何在android中不使用String Buffer的readline将其读入字符串

转载 作者:行者123 更新时间:2023-12-01 12:40:47 27 4
gpt4 key购买 nike

public class HttpPosrHitter {

public static String getJSONfromURL(String url, String member_id,
String phonenumber) {
InputStream is = null;
String result = "";
JSONObject jArray = null;
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("memberid", member_id));
pairs.add(new BasicNameValuePair("numbers", phonenumber));
httppost.setEntity(new UrlEncodedFormEntity(pairs));

// http post

HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();

} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}

// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}

try {

jArray = new JSONObject(result);
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}

return result;
}
}

这是我将电话号码发布到网络服务并获得响应的类(class)。 当我发布有 15 到 20 个联系人的电话号码时,我得到了回复。但是当我发布有 150 个联系人的号码时,我一次没有收到一个回复​​,我必须重新启动应用程序两次,然后我才能收到回复。我不知道我在哪里做错了。即使我无法以固定大小的缓冲区读取手机大文件。

最佳答案

只是为了一次性解决所有潜在的错误:有什么阻止您使用 RetrofitGSONJackson

每次我看到这样的 JSON/InputStream/URLConnection/... 问题时,我一直想知道为什么人们不断花时间重新发明基本的东西而不是实际编写应用程序。

关于java - 如何在android中不使用String Buffer的readline将其读入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25117417/

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