您的位置:首页 > 移动开发 > Android开发

初探Android中的请求服务器并解析返回的json数据

2017-09-15 15:59 531 查看
新开博客多多关照

//向服务器发送请求

RequestParams paramss = new RequestParams(); // 默认编码UTF-8

http.send(
HttpMethod.POST,
"http://192.168.31.78:8080/XXXXXX",//访问服务器提供的地址
paramss, new RequestCallBack<String>() {

@Override
public void onStart() {
//resultText.setText("conn...");
}
@Override
public void onFailure(HttpException arg0, String arg1) {

//此地不太严谨,为请求失败找了一个借口

Toast.makeText(LoginAct.this, "请重新连接网络", Toast.LENGTH_SHORT)  
.show();
return;
}
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String AA = responseInfo.result.toString();
try {
parseData(AA);
} catch (JSONException e) {

e.printStackTrace();
}

}
});

//解析json数据

protected void parseData(String result) throws JSONException {
//将解析的数据写到SharedPreferences中
SharedPreferences mySharedPreferences = getSharedPreferences(
"user_info", Activity.MODE_PRIVATE);

SharedPreferences.Editor editor = mySharedPreferences.edit();

System.out.println("==开始使用JSONObject==");
JSONObject obj = new JSONObject(result);

//用Iterator将数据全部取出并写到SharedPreferences中
Iterator<String> sIterator = obj.keys();
System.out.println("==开始写入==");
while (sIterator.hasNext()) {

// 获得key
String key = sIterator.next();
// 获取行号
JSONObject item = obj.getJSONObject(key);//获取每行key值

// editor.putString(item.toString(), item.getString("username"));

// editor.putString(item.toString(), item.getString("phonenum"));

// editor.putString(item.getString("username"), item.getString("username"));
editor.putString(item.getString("phonenum"), item.getString("phonenum"));//(key=phonenum,value=phonenum)
editor.commit();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: