Android http请求例子、Unicode转UTF-8 java代码收藏
2013-01-23 16:09
417 查看
/article/8333227.html
Android项目经常是C/S模型的,因此需要向服务器发出http请求,收藏一个http请求的例子以便以后可以用。
假设发出的请求使用get方法,服务器传回JSON数据,解析代码如下:
注:JSON数据格式其实就是String。可以用JSONObject类进行转化。
有时候服务器传回的数据中会遇到传回数据为Unicode的情况,为此需要进行Unicode转UTF-8的转化,我在项目中遇见过,为此收藏一份转化 java 代码,便于以后使用:
Android项目经常是C/S模型的,因此需要向服务器发出http请求,收藏一个http请求的例子以便以后可以用。
假设发出的请求使用get方法,服务器传回JSON数据,解析代码如下:
HttpClient client = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(req_url); try { HttpResponse response = client.execute(httpGet); int statusCode = response.getStatusLine().getStatusCode(); if (statusCode != HttpStatus.SC_OK) { Log.d("AD", "statusCode is " + statusCode); return null; } else { HttpEntity entity = response.getEntity(); if (entity != null) { InputStream inputStream = entity.getContent(); StringBuilder builder = new StringBuilder(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); for (String s = bufferedReader.readLine(); s != null; s = bufferedReader.readLine()) { builder.append(s); } String result = builder.toString(); Log.d("AD", "Server return " + result); return result; } } } catch (Exception e) { httpGet.abort(); Log.d("AD", "when http get, exception is " + e.getMessage()); } return null;
注:JSON数据格式其实就是String。可以用JSONObject类进行转化。
有时候服务器传回的数据中会遇到传回数据为Unicode的情况,为此需要进行Unicode转UTF-8的转化,我在项目中遇见过,为此收藏一份转化 java 代码,便于以后使用:
private static String decodeUnicode(String theString) { char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffer(len); for (int x = 0; x < len;) { aChar = theString.charAt(x++); if (aChar == '\\') { aChar = theString.charAt(x++); if (aChar == 'u') { // Read the xxxx int value = 0; for (int i = 0; i < 4; i++) { aChar = theString.charAt(x++); switch (aChar) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': value = (value << 4) + aChar - '0'; break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': value = (value << 4) + 10 + aChar - 'a'; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': value = (value << 4) + 10 + aChar - 'A'; break; default: throw new IllegalArgumentException( "Malformed \\uxxxx encoding."); } } outBuffer.append((char) value); } else { if (aChar == 't') aChar = '\t'; else if (aChar == 'r') aChar = '\r'; else if (aChar == 'n') aChar = '\n'; else if (aChar == 'f') aChar = '\f'; outBuffer.append(aChar); } } else outBuffer.append(aChar); } return outBuffer.toString(); }
相关文章推荐
- Android http请求例子、Unicode转UTF-8 java代码收藏
- Android http请求例子、Unicode转UTF-8 java代码收藏
- Android http请求例子、Unicode转UTF-8 java代码
- Android例子—HttpURLConnection发送POST、GET请求代码示例
- Java&Android开源库代码剖析】のandroid-async-http(如何设计一个优雅的Android网络请求框架,同...
- Android Http请求的代码
- Android Get请求的utf-8格式,解决java.net.MalformedURLException异常
- java实现 HTTP/HTTPS请求绕过证书检测代码实现
- Android请求获取Java后端数据,登录界面例子
- java代码发送JSON格式的httpPOST请求
- java代码发送JSON格式的httpPOST请求
- java发送http的get、post请求实现代码
- JAVA发送HTTP请求经典收藏
- 【JAVA编码专题】UNICODE,GBK,UTF-8区别 分类: B1_JAVA 2015-02-10 21:07 153人阅读 评论(0) 收藏
- Java代码中利用httpClient发送post、get请求
- Android java如何在代码中为Http连接设置代理
- Android/java 利用HttpUrlConnection 发送put请求,携带json参数
- 使用JAVA发送HTTP请求(Http Request),返回HTTP响应(Http Response)内容,代码程序例子及原理说明
- HTTP JAVA代码发送POST请求
- java代码发送HTTP Post请求