title: I am getting java.lang.runtimeexception parcelable encountered ioexception writing serializable object
body: <p>I am newbie to android and working on a demo app with two screens to pass a data from one to another activity, During this i am getting below exception,</p>
  
  <blockquote>
    <p>java.lang.RuntimeException: Parcelable encountered IOException writing
    serializable object (name = one.tusk.stush.connect.Post)</p>
  </blockquote>
  
  <p><strong>code</strong></p>
  
  <pre><code>  Intent intentPostDetail = new Intent(PostListItem.this.getContext(), NewPostDetailActivity.class);
                  Post post = mPost;
                  System.out.print("========MY POST IS======&gt;" + mPost.toString());
                  intentPostDetail.putExtra("Post", post);
                  intentPostDetail.putExtra("flag", "post");
              mContext.startActivity(intentPostDetail);
  </code></pre>
  
  <p><strong>baseObject</strong></p>
  
  <pre><code>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;
      }
  </code></pre>
  
  <p><strong>Post</strong></p>
  
  <pre><code>public class Post extends BaseObject implements Serializable {
  
      private static final long serialVersionUID = 1L;
      public String postTitle;
      public String postImagePath;
      public Date postDate;
      public ArrayList&lt;String&gt; 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;
          }
      }
  
  }
  </code></pre>
  
  <p>can anyone please help me to solve this.</p>