Android 是否将带有位图的自定义对象传递给另一个活动?
MyObject类Android 是否将带有位图的自定义对象传递给另一个活动?,android,Android,MyObject类 public class MemberDetailsObject implements Serializable { String memberid; String memberName; String mobileNumber; String photo; String phoneType; String latitute ; String longitude; String dateNTime; String locationName; String date; Str
public class MemberDetailsObject implements Serializable {
String memberid;
String memberName;
String mobileNumber;
String photo;
String phoneType;
String latitute ;
String longitude;
String dateNTime;
String locationName;
String date;
String time;
Bitmap memberImage;
public String getMemberid() {
return memberid;
}
public void setMemberid(String memberid) {
this.memberid = memberid;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getPhoto() {
return photo;
}
public void setPhoto(String photo) {
this.photo = photo;
}
public String getPhoneType() {
return phoneType;
}
public void setPhoneType(String phoneType) {
this.phoneType = phoneType;
}
public String getLatitute() {
return latitute;
}
public void setLatitute(String latitute) {
this.latitute = latitute;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getDateNTime() {
return dateNTime;
}
public void setDateNTime(String dateNTime) {
this.dateNTime = dateNTime;
}
public String getLocationName() {
return locationName;
}
public void setLocationName(String locationName) {
this.locationName = locationName;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Bitmap getMemberImage() {
return memberImage;
}
public void setMemberImage(Bitmap memberImage) {
this.memberImage = memberImage;
}
public MemberDetailsObject(String memberid, String memberName,
String mobileNumber, String photo, String phoneType, String latitute,
String longitude, String dateNTime, String locationName, String date,
String time, Bitmap memberImage) {
super();
this.memberid = memberid;
this.memberName = memberName;
this.mobileNumber = mobileNumber;
this.photo = photo;
this.phoneType = phoneType;
this.latitute = latitute;
this.longitude = longitude;
this.dateNTime = dateNTime;
this.locationName = locationName;
this.date = date;
this.time = time;
this.memberImage = memberImage;
}
}
我正试图通过使用
Intent viewProfile = new Intent(getApplicationContext(), ScreenMemberProfile.class);
viewProfile.putExtra("memberList", memberList.get(positon));
然而,问题是位图不可序列化,我可以知道任何其他替代方法吗?位图是可打包的,以便您可以将其放入意图中。通过
活动传递位图是可能的,但内存非常昂贵。
与其传递位图
对象,不如将其保存在外部内存(缓存/sd卡)上,并将其路径(包装在可序列化的
对象中)传递给下一个活动
,然后在下一个活动中将该路径解码为位图
,并相应地使用
public class MemberDetailsObject implements Serializable {
// other member ...
String memberImagePath;
// rest of the class ...
}
有关更多详细信息,请参见此处:
这是将位图发送到其他活动的最佳方式,因为位图不是可序列化的,而是可实现的
包裹的