0
我有一個對象,我想要序列化一個BitmapDrawable字段。 我實現自定義序列化/反序列化下面的方法:Android自定義序列化訪問上下文
private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
art.getBitmap().compress(Bitmap.CompressFormat.WEBP, 100, out);
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
art = new BitmapDrawable(BitmapFactory.decodeStream(in));
}
這工作,但沒有資源BitmapDrawable構造已被棄用,我想使用的首選構造函數。傳遞給readObject的Android上下文有什麼好方法?
你的對象類是否使用'Context'作爲其他任何東西?你在構造函數中傳遞它嗎? –
不,但是如果我確實爲此傳遞了一個,因爲我在readObject方法中需要它,我假設我不想序列化上下文,所以在readObject中,我無法訪問它,對吧? – Nick
對,對。即使你想要,你也不能序列化'Context'。你可能不得不改變你的類來保存'Bitmap',並根據需要創建一個'BitmapDrawable'。否則,你可能會被堅持使用不贊成使用的構造函數。 –