Tengo esta clase ConstantData que contiene mis índices JSON, necesito pasarlos entre actividades con extras. Pero antes de eso, primero tengo que implementar Parcelable a los objetos de esta clase.Android: ¿Cómo implementar Parcelable a mis objetos?
Mi pregunta es, ¿cómo debo declarar el objeto dentro de mi clase aquí y poner cada objeto dentro de una variable?
Soy un novato y no tengo ni idea en este momento. Gracias. Siéntete libre de modificar mi código a continuación.
ConstantData.java
public class ConstantData{
public static String project_title = "project title";
public static String organization_title = "organization title";
public static String keyword = "keyword";
public static String short_code = "short code";
public static String project_description = "description";
public static String smallImageUrl = "smallImageUrl";
public static String bigImageUrl = "bigImageUrl";
public static String price= "price";
public static String country= "country";
public static ArrayList<Project> projectsList = new ArrayList<Project>();
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeString(project_title);
out.writeString(organization_title);
out.writeString(keyword);
out.writeString(short_code);
out.writeString(project_description);
out.writeString(smallImageUrl);
out.writeString(bigImageUrl);
out.writeString(price);
out.writeString(country);
}
public static final Parcelable.Creator<ConstantData> CREATOR
= new Parcelable.Creator<ConstantData>() {
public ConstantData createFromParcel(Parcel in) {
return new ConstantData(in);
}
public ConstantData[] newArray(int size) {
return new ConstantData[size];
}
};
private ConstantData(Parcel in) {
project_title = in.readString();
organization_title = in.readString();
keyword = in.readString();
short_code = in.readString();
project_description = in.readString();
smallImageUrl = in.readString();
bigImageUrl = in.readString();
price = in.readString();
country = in.readString();
}
}
En caso de que mi pregunta no es lo suficientemente claro, se puede buscar esta pregunta: ¿How to send an object from one Android Activity to another using Intents?
Allí escribió myParcelableObject
, yo no sé cómo hacer el objeto parcelable
EDITAR Project.java
public class Project {
public String project_title;
public String organization_title;
public String keyword;
public String short_code;
public String project_description;
public String smallImageUrl;
public String bigImageUrl;
public String price;
public String country;
}
Solución en el interior: http://stackoverflow.com/questions/4049627/parcelable-and-inheritance-in-android –
gracias! Entonces, en mi caso, solo necesito la 'clase A abstracta pública implementa Parcelable' ¿no? No necesito la 'clase pública B extiende A', ¿estoy en lo correcto? – hectichavana
Una cosa que no se menciona es que si ya tiene datos como objeto JSON/XML y si ya tiene el analizador escrito, a veces es más fácil pasar el objeto JSON o XML si no lo está pasando más de 1-2 veces –