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

来源:互联网 发布:贵金属喊单软件 编辑:程序博客网 时间:2024/05/22 01:41

新开博客多多关照

//向服务器发送请求

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();
}
}

阅读全文
0 0