2016-06-16 8 views
0

나는 안드로이드에 안성맞춤이며, 두 개의 화면이있는 데모 응용 프로그램을 사용하여 하나의 데이터에서 다른 활동으로 데이터를 전달합니다.이 기간 동안 예외적으로,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; 
     } 
    } 

} 

사람이 나에게이 문제를 해결하는 데 도움을 주시기 바랍니다 수 있습니다.

+0

'Post' 클래스를 질문에 넣으십시오. – Ironman

+0

'Post' 클래스 란 무엇입니까? – Apurva

+0

@ 아이언 맨 - 어떤 클래스입니까? –

답변

0

모델 클래스 PostSerializable을 구현하십시오. 이렇게하면 오류가 수정됩니다.

public class Post implements Serializable { 
+0

만 구현 되었습니까? 아니면 더 이상 구현해야합니까? 제발 도와주세요. !!! –

+0

그냥이 줄을 추가하십시오 .. 다른 코드는 필요하지 않습니다 – Sanoop

+0

'BaseObject' 클래스는 무엇입니까 ?? – Sanoop

0

는 BaseObject 클래스와 질문이 업데이트 인 문제가 여전히 경우 BaseObject 클래스는이

public class BaseObject implements Serializable 
{ 
} 

같은 Serializable를 구현합니다.

+0

,이 예외를 발견 정적 JSONObject getJSONFromJSONObject (JSONObject jsonObject, String key) { \t \t \t \t JSONObject 값 = null입니다. \t \t { \t \t \t 값 = jsonObject.getJSONObject (key); \t \t} 캐치 (예외 E) {} \t \t \t \t 리턴 값; \t}'내 기본 객체에서이 예외가 발견되었습니다. –

+0

PLS 도와, 내 baseobject 내 question..Please 볼 오티 게시 한 –