@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
case 0:
try {
// httpManager抛上的数据
String result = (String)msg.obj;
//对数据进行解析
JSONObject jsonObject = new JSONObject(result);
if (jsonObject.getString("error_code").equals("1")) {
DialogUtil.showDialog(this,
jsonObject.getString("msg"), false);
return false;
}
JSONObject object = jsonObject.getJSONObject("data");
JSONArray array = object.getJSONArray("list");
if (array != null && array.length() > 0) {
for (int i = 0;i < array.length();i++) {
object = array.getJSONObject(i);
Map<String, Object> map = new HashMap<String, Object>();
//String pkId = object.getString("PkId");
String meayType = object.getString("Type");
String moneyNum = object.getString("value");
//map.put("pkId", pkId);
map.put("money_type", meayType);
map.put("money_num", moneyNum);
data.add(map);
}
}
是否有关于数据传入的,数据在哪个地方输出?
@Override
//这个方法是handler收到返回的消息处理此信息回调的方法
public boolean handleMessage(Message msg) {
//选择消息的what这个值,what是在handler发送信息时候赋值的相当于一个id类似的东西可以用来区分不同的消息
switch (msg.what) {
case 0:
try {
// httpManager抛上的数据
//消息是以object的形式传递的,发的消息是一个字符串将其转换为字符串,这个字符串是一个jeson格式的字符串,解析jeson字符串是需要根据具体的格式进行解析的。
String result = (String)msg.obj;
//对数据进行解析
JSONObject jsonObject = new JSONObject(result);
if (jsonObject.getString("error_code").equals("1")) {
DialogUtil.showDialog(this,
jsonObject.getString("msg"), false);
return false;
}
JSONObject object = jsonObject.getJSONObject("data");
JSONArray array = object.getJSONArray("list");
if (array != null && array.length() > 0) {
for (int i = 0;i < array.length();i++) {
object = array.getJSONObject(i);
Map<String, Object> map = new HashMap<String, Object>();
//String pkId = object.getString("PkId");
String meayType = object.getString("Type");
String moneyNum = object.getString("value");
//map.put("pkId", pkId);
map.put("money_type", meayType);
map.put("money_num", moneyNum);
data.add(map);
}
}
中间这一段是根据你发过来的jeson字符串进行解析的内容。
这是一个消息处理功能的代码,使用switch语句,根据消息类型来解析消息内容的。