易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Android用GSon处理Json数据
Android用GSon处理Json数据:
package
com.demo;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.UnsupportedEncodingException;
import
org.apache.http.HttpEntity;
import
org.apache.http.HttpResponse;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.impl.client.DefaultHttpClient;
import
org.apache.http.params.BasicHttpParams;
import
org.apache.http.protocol.HTTP;
import
android.util.Log;
public
class
WebDataGetApi {
private
static
final
String TAG =
"WebDataGetAPI"
;
private
static
final
String USER_AGENT =
"Mozilla/4.5"
;
protected
String getRequest(String url)
throws
Exception {
return
getRequest(url,
new
DefaultHttpClient(
new
BasicHttpParams()));
}
protected
String getRequest(String url, DefaultHttpClient client)
throws
Exception {
String result =
null
;
int
statusCode =
0
;
HttpGet getMethod =
new
HttpGet(url);
Log.d(TAG,
"do the getRequest,url="
+ url +
""
);
try
{
getMethod.setHeader(
"User-Agent"
, USER_AGENT);
// HttpParams params = new HttpParams();
// 添加用户密码验证信息
// client.getCredentialsProvider().setCredentials(
// new AuthScope(null, -1),
// new UsernamePasswordCredentials(mUsername, mPassword));
HttpResponse httpResponse = client.execute(getMethod);
// statusCode == 200 正常
statusCode = httpResponse.getStatusLine().getStatusCode();
Log.d(TAG,
"statuscode = "
+ statusCode);
// 处理返回的httpResponse信息
result = retrieveInputStream(httpResponse.getEntity());
}
catch
(Exception e) {
Log.e(TAG, e.getMessage());
throw
new
Exception(e);
}
finally
{
getMethod.abort();
}
return
result;
}
/**
* 处理httpResponse信息,返回String
*
* @param httpEntity
* @return String
*/
protected
String retrieveInputStream(HttpEntity httpEntity) {
int
length = (
int
) httpEntity.getContentLength();
if
(length <
0
)
length =
10000
;
StringBuffer stringBuffer =
new
StringBuffer(length);
try
{
InputStreamReader inputStreamReader =
new
InputStreamReader(
httpEntity.getContent(), HTTP.UTF_8);
char
buffer[] =
new
char
[length];
int
count;
while
((count = inputStreamReader.read(buffer,
0
, length -
1
)) >
0
) {
stringBuffer.append(buffer,
0
, count);
}
}
catch
(UnsupportedEncodingException e) {
Log.e(TAG, e.getMessage());
}
catch
(IllegalStateException e) {
Log.e(TAG, e.getMessage());
}
catch
(IOException e) {
Log.e(TAG, e.getMessage());
}
return
stringBuffer.toString();
}
}
二. 建立JsonDataGetApi.java
package
com.demo;
import
org.json.JSONArray;
import
org.json.JSONException;
import
org.json.JSONObject;
public
class
JsonDataGetApi
extends
WebDataGetApi {
private
static
final
String BASE_URL =
"http://10.0.2.2:82/AccountService/"
;
private
static
final
String EXTENSION =
"Json/"
;;
public
JSONObject getObject(String sbj)
throws
JSONException, Exception {
return
new
JSONObject(getRequest(BASE_URL + EXTENSION + sbj));
}
public
JSONArray getArray(String sbj)
throws
JSONException, Exception {
return
new
JSONArray(getRequest(BASE_URL + EXTENSION + sbj));
}
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图