聽起來很瘋狂,但這是我需要做的。我想要一個Bitmap對象並使用XMLPullParser/XmlSerializer將其寫入平面文件。很顯然,我需要將XML標籤讀回Bitmap對象。如何將位圖寫入XML文件
我嘗試了各種各樣的事情,類似於我從數據庫中寫入和讀取位圖的方式。
Bitmap bitmap = ((BitmapDrawable) icon).getBitmap();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0, outputStream);
byte[] bitmapByte = outputStream.toByteArray();
當我迷路是一次我寫了這一點,我的XML文件作爲一個字符串,我永遠不能把它改回正常。任何指針表示讚賞。
編輯: 我想提供一點信息。爲了備份目的,我寫出了大量的XML數據,因此加載或寫入時間無關緊要。這不是數據的主要來源(主要來源是SQLite數據庫)。我不想寫出幾個非常小的(48x48像素)圖像,如果我能幫上忙的話。
if (name.equalsIgnoreCase("someXmlTag")){
String someString = parser.nextText();
我寫了使用XmlSerializer,這將一個字符串我的XML:所以不知何故
XmlSerializer serializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
serializer.startTag("", "someTag");
serializer.text(someString);
我在我的XML使用XMLPullParser,其內容爲一個字符串閱讀我必須將我的位圖變成一個字符串,然後將該字符串變成一個位圖。我會在Base64上進行一些搜索,看看我是否有任何好的例子。
我已經更新了我的帖子,提供了一些可以清除一些東西的更多信息。我將在Base64上進行一些搜索,看看我的選擇是什麼。 – pcm2a 2010-01-21 13:16:01