/** * $id$ * Copyright 2011-2012 Renren Inc. All rights reserved. */ package com.renren.api.connect.android.photos; import org.json.JSONException; import org.json.JSONObject; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import com.renren.api.connect.android.Renren; import com.renren.api.connect.android.Util; import com.renren.api.connect.android.common.ResponseBean; /** * photos.upload API请求的返回结果包装类 * * @author sunting ting.sun@renren-inc.com * */ public class PhotoUploadResponseBean extends ResponseBean implements Parcelable { /** * 字段常量 */ private static final String KEY_PID = "pid"; private static final String KEY_AID = "aid"; private static final String KEY_UID = "uid"; private static final String KEY_SRC = "src"; private static final String KEY_SRC_SMALL = "src_small"; private static final String KEY_SRC_BIG = "src_big"; private static final String KEY_CAPTION = "caption"; /** * 照片pid */ private long pid; /** * 照片所属相册aid */ private long aid; /** * 照片所有者uid */ private long uid; /** * 正常尺寸照片源url */ private String src; /** * 小尺寸照片源url */ private String src_small; /** * 大尺寸照片源url */ private String src_big; /** * 照片描述 */ private String caption; /** * 构造函数,将请求返回的json串格式数据解析成对象 * * @param response */ public PhotoUploadResponseBean(String response) { this(response, Renren.RESPONSE_FORMAT_JSON); } /** * 构造函数,将请求返回的json串格式数据解析成对象 * * @param response * 服务器返回的请求结果串 * @param format * 服务器返回结果的格式 */ private PhotoUploadResponseBean(String response, String format) { super(response); if (response == null) { return; } // 暂时只提供json格式的数据解析 if (format.toLowerCase().endsWith("json")) { try { JSONObject object = new JSONObject(response); if (object != null) { pid = object.optLong(KEY_PID); aid = object.optLong(KEY_AID); uid = object.optLong(KEY_UID); src = object.optString(KEY_SRC); src_small = object.optString(KEY_SRC_SMALL); src_big = object.optString(KEY_SRC_BIG); caption = object.optString(KEY_CAPTION); } } catch (JSONException e) { Util.logger("exception in parsing json data:" + e.getMessage()); } } } public long getPid() { return pid; } public void setPid(long pid) { this.pid = pid; } public long getAid() { return aid; } public void setAid(long aid) { this.aid = aid; } public long getUid() { return uid; } public void setUid(long uid) { this.uid = uid; } public String getSrc() { return src; } public void setSrc(String src) { this.src = src; } public String getSrc_small() { return src_small; } public void setSrc_small(String src_small) { this.src_small = src_small; } public String getSrc_big() { return src_big; } public void setSrc_big(String src_big) { this.src_big = src_big; } public String getCaption() { return caption; } public void setCaption(String caption) { this.caption = caption; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(KEY_PID).append(" = ").append(pid).append("\r\n"); sb.append(KEY_AID).append(" = ").append(aid).append("\r\n"); sb.append(KEY_UID).append(" = ").append(uid).append("\r\n"); sb.append(KEY_SRC).append(" = ").append(src).append("\r\n"); sb.append(KEY_SRC_SMALL).append(" = ").append(src_small).append("\r\n"); sb.append(KEY_SRC_BIG).append(" = ").append(src_big).append("\r\n"); sb.append(KEY_CAPTION).append(" = ").append(caption).append("\r\n"); return sb.toString(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flag) { Bundle bundle = new Bundle(); if (pid != 0) { bundle.putLong(KEY_PID, pid); } if (aid != 0) { bundle.putLong(KEY_AID, aid); } if (uid != 0) { bundle.putLong(KEY_UID, uid); } if (caption != null) { bundle.putString(KEY_CAPTION, caption); } if (src != null) { bundle.putString(KEY_SRC, src); } if (src_small != null) { bundle.putString(KEY_SRC_SMALL, src_small); } if (src_big != null) { bundle.putString(KEY_SRC_BIG, src_big); } dest.writeBundle(bundle); } public static final Parcelable.Creator<PhotoUploadResponseBean> CREATOR = new Parcelable.Creator<PhotoUploadResponseBean>() { public PhotoUploadResponseBean createFromParcel(Parcel in) { return new PhotoUploadResponseBean(in); } public PhotoUploadResponseBean[] newArray(int size) { return new PhotoUploadResponseBean[size]; } }; /** * 构造函数,根据序列化对象构造实例 * * @param in */ public PhotoUploadResponseBean(Parcel in) { super(null); Bundle bundle = in.readBundle(); if (bundle.containsKey(KEY_PID)) { pid = bundle.getLong(KEY_PID); } if (bundle.containsKey(KEY_AID)) { aid = bundle.getLong(KEY_AID); } if (bundle.containsKey(KEY_UID)) { uid = bundle.getLong(KEY_UID); } if (bundle.containsKey(KEY_CAPTION)) { caption = bundle.getString(KEY_CAPTION); } if (bundle.containsKey(KEY_SRC)) { src = bundle.getString(KEY_SRC); } if (bundle.containsKey(KEY_SRC_SMALL)) { src_small = bundle.getString(KEY_SRC_SMALL); } if (bundle.containsKey(KEY_SRC_BIG)) { src_big = bundle.getString(KEY_SRC_BIG); } } }