/** * [刷新widget,更新头像地址,图片缓存]<br> * 刷新widget,更新头像地址,图片缓存,并返回新的头像路径与名称 * * @param context 上下文 * @param jsonStr 网络返回结果 * @param userid 用户userId * @return 用户信息,其中仅包括新的头像路径与名称 */ public static UserInfo refreshWidget(Context context, String jsonStr, String userid) { UserInfo userInfo = null; try { JSONObject jObject = new JSONObject(jsonStr); String code; if (jObject.has(UserInfoUtil.KEY_JASON_RETCODE)) { code = jObject.getString(UserInfoUtil.KEY_JASON_RETCODE); if (!TextUtils.isEmpty(code) && Integer.parseInt(code) == HttpStatus.SC_OK && jObject.has(UserInfoUtil.KEY_JASON_DATA)) { jObject = jObject.getJSONObject(UserInfoUtil.KEY_JASON_DATA); if (jObject.has(UserInfoUtil.KEY_USER_HEADPIC_PATH) && jObject.has(UserInfoUtil.KEY_USER_HEADPIC_NAME)) { userInfo = new UserInfo(); String headPath = jObject.getString(UserInfoUtil.KEY_USER_HEADPIC_PATH); userInfo.setHeadPicPath(headPath); String headName = jObject.getString(UserInfoUtil.KEY_USER_HEADPIC_NAME); userInfo.setHeadPicName(headName); MemberDao dao = new MemberDao(SmartHomeApplication.getInstance()); dao.update(userid, headPath, headName); dao.close(); Intent intent = new Intent(FsConstants.WIDGET_MEMBERS_CHANGE); context.sendBroadcast(intent); } } } } catch (JSONException e) { log("------refreshWidget------" + e.toString()); } return userInfo; }
/** * 根据网络返回解析用户信息<br> * 根据网络返回解析用户信息--用于用户信息修改界面 * * @param result 网络返回 * @param userInfo 用户信息 * @return 用户信息 */ public static boolean parseToUserInfo(UserInfo resultUserInfo, String parseData) { try { JSONObject json = new JSONObject(parseData); JSONObject data = json.getJSONObject("data"); if (!data.isNull(KEY_USER_HEIGHT)) { resultUserInfo.setHeight(String.valueOf(data.getInt(KEY_USER_HEIGHT))); } if (!data.isNull(KEY_USER_WEIGHT)) { resultUserInfo.setWeight(data.getString(KEY_USER_WEIGHT)); } if (!data.isNull(KEY_USER_BIRTHDAY)) { resultUserInfo.setBirthday(data.getString(KEY_USER_BIRTHDAY)); } if (data.has(KEY_USER_TELNUM)) { resultUserInfo.setTelnum(data.getString(KEY_USER_TELNUM)); } if (data.has(KEY_USER_REALNAME)) { resultUserInfo.setName(data.getString(KEY_USER_REALNAME)); } else { resultUserInfo.setName(data.getString(KEY_USER_ALIAS)); } if (data.has(KEY_USER_GROUPID)) { resultUserInfo.setGroupId(data.getString(KEY_USER_GROUPID)); } if (data.has(KEY_USER_GENDER)) { resultUserInfo.setGender(data.getString(KEY_USER_GENDER)); } if (data.has(KEY_USER_HEADPIC_PATH)) { resultUserInfo.setHeadPicPath(data.getString(KEY_USER_HEADPIC_PATH)); } if (data.has(KEY_USER_HEADPIC_NAME)) { resultUserInfo.setHeadPicName(data.getString(KEY_USER_HEADPIC_NAME)); } return true; } catch (JSONException e) { log("------parseToUserInfo------" + e.toString()); return false; } }
/** * 根据网络返回解析用户详细信息<br> * 根据网络返回解析用户详细信息--用于详情界面 * * @param result 网络返回 * @param userInfo 用户信息 * @return 用户信息 */ public static UserInfo parseToUserInfoDetail(String result, UserInfo userInfo) { try { JSONObject json = new JSONObject(result); JSONObject data = json.getJSONObject("data"); if (!data.isNull(KEY_USER_HEIGHT)) { userInfo.setHeight(String.valueOf(data.getInt(KEY_USER_HEIGHT))); } if (!data.isNull(KEY_USER_WEIGHT)) { userInfo.setWeight(data.getString(KEY_USER_WEIGHT)); } if (!data.isNull(KEY_USER_BIRTHDAY)) { userInfo.setBirthday(data.getString(KEY_USER_BIRTHDAY)); } if (data.has(KEY_USER_TELNUM)) { userInfo.setTelnum(data.getString(KEY_USER_TELNUM)); } if (data.has(KEY_USER_ALIAS)) { userInfo.setName(data.getString(KEY_USER_ALIAS)); } if ((userInfo.isCurrentUser() || !data.has(KEY_USER_ALIAS)) && data.has(KEY_USER_REALNAME)) { userInfo.setName(data.getString(KEY_USER_REALNAME)); } if (data.has(KEY_USER_GENDER)) { userInfo.setGender(data.getString(KEY_USER_GENDER)); } if (data.has(KEY_USER_HEADPIC_PATH)) { userInfo.setHeadPicPath(data.getString(KEY_USER_HEADPIC_PATH)); } if (data.has(KEY_USER_HEADPIC_NAME)) { userInfo.setHeadPicName(data.getString(KEY_USER_HEADPIC_NAME)); } return userInfo; } catch (JSONException e) { log("------parseToUserInfoDetail------" + e.toString()); return null; } }