听起来很疯狂,但这是我需要做的。我想要一个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