나는 안드로이드에 안성맞춤이며, 두 개의 화면이있는 데모 응용 프로그램을 사용하여 하나의 데이터에서 다른 활동으로 데이터를 전달합니다.이 기간 동안 예외적으로,java.lang.runtimeexception parcelable ioexception 직렬화 가능 객체 작성하기
java.lang.RuntimeException가 : Parcelable은 IOException이이 직렬화 객체를 작성 발생 (이름 = one.tusk.stush.connect.Post)
코드
Intent intentPostDetail = new Intent(PostListItem.this.getContext(), NewPostDetailActivity.class);
Post post = mPost;
System.out.print("========MY POST IS======>" + mPost.toString());
intentPostDetail.putExtra("Post", post);
intentPostDetail.putExtra("flag", "post");
mContext.startActivity(intentPostDetail);
baseObject
public class BaseObject {
static DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
public static Date getDateFromJSONObject(JSONObject jsonObject, String key) {
String value = "";
Date date = null;
try {
value = jsonObject.getString(key);
date = dateFormatter.parse(value);
} catch (Exception e) {
}
return date;
}
public static String getStringFromJSONObject(JSONObject jsonObject, String key) {
String value = "";
try {
value = jsonObject.getString(key);
} catch (Exception e) {
}
return value;
}
public static int getIntFromJSONObject(JSONObject jsonObject, String key) {
int value = 0;
try {
value = jsonObject.getInt(key);
} catch (Exception e) {
}
return value;
}
public static boolean getBooleanFromJSONObject(JSONObject jsonObject, String key) {
boolean value = false;
try {
value = jsonObject.getBoolean(key);
} catch (Exception e) {
}
return value;
}
public static double getDoubleFromJSONObject(JSONObject jsonObject, String key) {
double value = 0;
try {
value = jsonObject.getDouble(key);
} catch (Exception e) {
}
return value;
}
public static JSONObject getJSONFromJSONObject(JSONObject jsonObject, String key) {
JSONObject value = null;
try {
value = jsonObject.getJSONObject(key);
} catch (Exception e) {
}
return value;
}
포스트 것은
public class Post extends BaseObject implements Serializable {
private static final long serialVersionUID = 1L;
public String postTitle;
public String postImagePath;
public Date postDate;
public ArrayList<String> postKeywords;
public User postUser;
public int postID;
public int postLikesCount;
public int postCommentsCount;
public boolean likedThisPost;
public boolean commentedThisPost;
public boolean inAlbum;
public String timeAgo;
public int totalReviews;
public String loginuserReviews;
int rv_cnt;
public double ratingcount;
public JSONObject userObj;
public int userId;
String reviews;
public Post(JSONObject jsonObject) {
//Log.d("JSOn", jsonObject.toString());
this.postID = getIntFromJSONObject(jsonObject, "postID");
this.postImagePath = getStringFromJSONObject(jsonObject, "postImage");
this.postTitle = getStringFromJSONObject(jsonObject, "postTitle");
this.postDate = getDateFromJSONObject(jsonObject, "postDate");
this.postUser = new User(getJSONFromJSONObject(jsonObject, "user"));
this.postLikesCount = getIntFromJSONObject(jsonObject, "totalLikes");
this.postCommentsCount = getIntFromJSONObject(jsonObject, "totalComments");
this.timeAgo = getStringFromJSONObject(jsonObject, "timeAgo");
this.commentedThisPost = getBooleanFromJSONObject(jsonObject, "isCommented");
// userObj = getJSONFromJSONObject(jsonObject, "user");
this.userId = getIntFromJSONObject(jsonObject, "userID");
this.totalReviews = getIntFromJSONObject(jsonObject, "totalReview");
this.ratingcount = getDoubleFromJSONObject(jsonObject, "ratingcount");
int isLiked = getIntFromJSONObject(jsonObject, "isLiked");
if (isLiked == 1) {
this.likedThisPost = true;
} else {
this.likedThisPost = false;
}
int inAlbum = getIntFromJSONObject(jsonObject, "inAlbum");
if (inAlbum == 1) {
this.inAlbum = true;
} else {
this.inAlbum = false;
}
}
}
사람이 나에게이 문제를 해결하는 데 도움을 주시기 바랍니다 수 있습니다.
'Post' 클래스를 질문에 넣으십시오. – Ironman
'Post' 클래스 란 무엇입니까? – Apurva
@ 아이언 맨 - 어떤 클래스입니까? –