Я использую реализацию parcelable, потому что легче передать ArrayList с putParcelableArrayListExtra
, но какова цель protected Song(Parcel in) and public void writeToParcel(Parcel dest, int flags)
Мой класс parcelable
public class Song implements Parcelable {
private long id = 0;
private String data = "";
private String title = "";
private String artist = "";
public Song(){
}
protected Song(Parcel in) {
id = in.readLong();
data = in.readString();
title = in.readString();
artist = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(id);
dest.writeString(data);
dest.writeString(title);
dest.writeString(artist);
}
public void setId(long songId){ this.id = songId; }
public long getId(){
return id;
}
public void setData(String data) { this.data = data; }
public String getData(){return data;}
//Optional meta data
public void setTitle(String title){ this.title = title; }
public String getTitle() { return title; }
public void setArtist(String artist){
this.artist = artist;
}
public String getArtist() {
return artist;
}
Длячто это используется, мне все еще нужно добавить это, если я не передаю какие-либо параметры моему конструктору Song () или я могу просто оставить его пустым?
protected Song(Parcel in) {
id = in.readLong();
data = in.readString();
title = in.readString();
artist = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(id);
dest.writeString(data);
dest.writeString(title);
dest.writeString(artist);
}