/**
  * [刷新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;
    }
  }