Nasıl bir Niyet kullanarak bir Android etkinlikten bir nesne göndermek için?
Nasıl bir sınıf Intent putExtra()
yöntemini kullanarak bir Activity özel bir türde bir nesne geçebilir miyim?
CEVAP
Eğer sadece etrafında nesneleri sonra yolunuz düşerse Parcelable bunun için tasarlanmıştır. Biraz daha Java kullanarak yerel seri hale getirme daha, ama çok daha hızlı bir şekilde yani. (ve kullanmak için bir çaba gerektirir ^strong>YOLdaha hızlı).
Doktorlar, uygulamak için basit bir örnek:
// simple class that just has one member property as an example
public class MyParcelable implements Parcelable {
private int mData;
/* everything below here is for implementing Parcelable */
// 99.9% of the time you can just ignore this
public int describeContents() {
return 0;
}
// write your object's data to the passed-in Parcel
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
// this is used to regenerate your object. All Parcelables must have a CREATOR that implements these two methods
public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
// example constructor that takes a Parcel and gives you an object populated with it's values
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
Belirli bir Parsel almak için birden fazla alan var bu durumda, (FIFO bir yaklaşım) koydum aynı sırada bunu yapmalısınız inceleyin.
Sizin nesneleri Parcelable
uygulamak sonra sadece ** 13 putExtra() ile içine atma meselesi ile ilgili bir şey
Intent i = new Intent();
i.putExtra("name_of_extra", myParcelableObject);
Sonra onları geri getParcelableExtra() ile dışarı çekin
Intent i = getIntent();
MyParcelable myParcelableObject = (MyParcelable) i.getParcelableExtra("name_of_extra");
Eğer Nesne Sınıfı Parcelable ve seri hale getirilebilir uygular sonra da atama yapmak emin olun:
i.putExtra((Parcelable) myParcelableObject);
i.putExtra((Serializable) myParcelableObject);
Kullanarak başka bir faaliyet gösterme...
Kullanıcı nasıl bir Android etkinlikte...
Belirli bir URL C Professional (Servic...
Nasıl PHP file_get_contents kullanarak...
nasıl telefon android amacı kullanarak...