<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文 &#187; tcwkid</title>
	<atom:link href="http://software.intel.com/zh-cn/blogs/author/tcwkid/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/zh-cn/blogs</link>
	<description></description>
	<lastBuildDate>Sat, 26 May 2012 06:34:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Android bitmap序列化</title>
		<link>http://software.intel.com/zh-cn/blogs/2011/12/16/android-bitmap/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2011/12/16/android-bitmap/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 03:55:10 +0000</pubDate>
		<dc:creator>tcwkid</dc:creator>
				<category><![CDATA[Android 开发]]></category>
		<category><![CDATA[全国博客大奖赛]]></category>
		<category><![CDATA[移动技术]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2011/12/16/android-bitmap/</guid>
		<description><![CDATA[最近在开发中需要用到图片bitmap的序列化并进行传递，发现bitmap是没有序列化的，下面是自己实现的一个序列化方法，分享下。 ---------------------------------------------------------------------------------------------------------- import java.io.ByteArrayOutputStream; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Bitmap.CompressFormat; import android.os.Parcel; import android.os.Parcelable; /** *@author tcwkid *@date 2011-12-07 */ public class DetailIcon implements Parcelable{ private Bitmap draw; private static byte[] byteDraw; public Bitmap getDraw() { return draw; } public void setDraw(Bitmap draw) { this.draw = draw; } @Override public int describeContents() { return 0; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>最近在开发中需要用到图片bitmap的序列化并进行传递，发现bitmap是没有序列化的，下面是自己实现的一个序列化方法，分享下。</strong><br />
----------------------------------------------------------------------------------------------------------<br />
import java.io.ByteArrayOutputStream;<br />
import android.graphics.Bitmap;<br />
import android.graphics.BitmapFactory;<br />
import android.graphics.Bitmap.CompressFormat;<br />
import android.os.Parcel;<br />
import android.os.Parcelable;</p>
<p>/**<br />
 *@author tcwkid<br />
 *@date 2011-12-07<br />
 */<br />
public class DetailIcon implements Parcelable{</p>
<p>	private Bitmap draw;<br />
	private static byte[] byteDraw;</p>
<p>	public Bitmap getDraw() {<br />
		return draw;<br />
	}</p>
<p>	public void setDraw(Bitmap draw) {<br />
		this.draw = draw;<br />
	}</p>
<p>	@Override<br />
	public int describeContents() {<br />
		return 0;<br />
	}</p>
<p>	@Override<br />
	public void writeToParcel(Parcel dest, int flags) {<br />
		byteDraw=getBytes(draw);<br />
		dest.writeByteArray(byteDraw);//其实这里写入是有顺序的，先写的先读<br />
	}</p>
<p>	public static final Parcelable.Creator CREATOR=new Creator() {</p>
<p>		@Override<br />
		public DetailIcon[] newArray(int size) {<br />
			return new DetailIcon[size];<br />
		}</p>
<p>		@Override<br />
		public DetailIcon createFromParcel(Parcel source) {<br />
			DetailIcon di=new DetailIcon();<br />
			source.readByteArray(byteDraw);<br />
			di.setDraw(getBitmap(byteDraw));<br />
			return di;<br />
		}<br />
	};</p>
<p>	private static  Bitmap getBitmap(byte[] data) {<br />
        return BitmapFactory.decodeByteArray(data, 0, data.length);<br />
    }</p>
<p>    private  byte[] getBytes(Bitmap bitmap) {<br />
        ByteArrayOutputStream baops = new ByteArrayOutputStream();<br />
        bitmap.compress(CompressFormat.PNG, 0, baops);<br />
        return baops.toByteArray();<br />
    }<br />
}</p>
<p>----------------------------------------------------------------------------------------------------------<br />
<strong>以上是通过byte[]来进行序列化的，因为bitmap是没有序列化的，需要我们去实现，可以选择继承bitmap实现序列化，这里采用byte[]方式。<br />
接下来就可以使用Intent的putExtra(String name,Parcelable value)来发送bitmap了。</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2011/12/16/android-bitmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

