Android 找不到生成的可包裹类
我正在尝试在我的android项目中使用Parceler。 这是我的歌曲模型Android 找不到生成的可包裹类,android,realm,parceler,Android,Realm,Parceler,我正在尝试在我的android项目中使用Parceler。 这是我的歌曲模型 @Parcel(implementations = {SongRealmProxy.class}, value = Parcel.Serialization.BEAN, analyze = {Song.class}) public class Song extends RealmObject { @PrimaryKey public String id; public Stri
@Parcel(implementations = {SongRealmProxy.class},
value = Parcel.Serialization.BEAN,
analyze = {Song.class})
public class Song extends RealmObject {
@PrimaryKey
public String id;
public String isrc;
public String songName;
public String artistName;
public String album_id;
public String albumArtUrl;
public String genre_id;
public String genreName;
public String releaseYear;
public String price;
public String lyrics;
public String demo;
public int explicit;
}
当我尝试使用像这样的捆绑来扭曲这些歌曲模型时
b.putParcelable(DATA_PARAM, Parcels.wrap(song));
我一直有这个错误
org.parceler.ParcelerRuntimeException: Unable to find generated Parcelable class for com.devhousemyanmar.juketrill.models.Song, verify that your class is configured properly and that the Parcelable class com.devhousemyanmar.juketrill.models.Song$$Parcelable is generated by Parceler.
请帮我解决这个问题。包裹类应该是这样的: package com.yourpackagename
public class BrushData implements Parcelable {
public static final Creator<BrushData> CREATOR = new Creator<BrushData>() {
@Override
public BrushData createFromParcel(Parcel in) {
return new BrushData(in);
}
@Override
public BrushData[] newArray(int size) {
return new BrushData[size];
}
};
private static final int VERSION = 1;
@SerializedName("icon")
private String icon;
@SerializedName("effects")
private ArrayList<String> effects;
private BrushData(Parcel parcel) {
if (parcel != null) {
readFromParcel(parcel);
}
}
@Override
public int describeContents() {
return 0;
}
private void readFromParcel(Parcel in) {
if (in.readInt() == VERSION) {
icon = in.readString();
}
}
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(VERSION);
parcel.writeString(icon);
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public ArrayList<String> getEffects() {
return effects;
}
public void setEffects(ArrayList<String> effects) {
this.effects = effects;
}
}
public类BrushData实现可包裹{
公共静态最终创建者=新创建者(){
@凌驾
公共笔刷数据createFromParcel(地块中){
返回新数据(在中);
}
@凌驾
公共数据[]新数组(整数大小){
返回新的笔刷数据[大小];
}
};
私有静态最终int版本=1;
@序列化名称(“图标”)
私有字符串图标;
@序列化名称(“效果”)
私人ArrayList效应;
私人数据(包裹){
如果(包裹!=null){
阅读包裹(包裹);
}
}
@凌驾
公共int描述内容(){
返回0;
}
private void readFromParcel(地块位于中){
if(in.readInt()==版本){
icon=in.readString();
}
}
公共无效书面包裹(包裹,内部i){
包裹书写(版本);
包裹。写线(图标);
}
公共字符串getIcon(){
返回图标;
}
公共无效设置图标(字符串图标){
this.icon=图标;
}
公共阵列列表getEffects(){
回报效应;
}
公共无效设置效果(ArrayList效果){
这个效应=效应;
}
}
不,我用的是那台包裹机。试图打包我的真实对象。@MinKhantLu你收到了吗solution@saintjab我决定用另一种方式而不是这个。配置看起来正确,你在用proguard吗?不,我还没有用过proguard@JohnEricksenNext需要检查的是,您的构建中有Parceler注释处理器,它实际上构建了java文件。你能检查你的gradle构建和临时构建输出位置吗?