首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

将图片封存到 SharedPreferences

2012-07-20 
将图片保存到 SharedPreferencesBase64ImageActivity.javapackage powerise.demo01import java.io.ByteAr

将图片保存到 SharedPreferences

Base64ImageActivity.java

package powerise.demo01;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import org.apache.commons.codec.binary.Base64;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.graphics.Bitmap.CompressFormat;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class Base64ImageActivity extends Activity {private Button btn_save = null;private ImageView iv_image = null;private ImageView iv_image2 = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.base64image);btn_save = (Button) findViewById(R.id.btn_save);iv_image = (ImageView) findViewById(R.id.iv_image);iv_image2 = (ImageView) findViewById(R.id.iv_image2);// Field[] fields = R.drawable.class.getDeclaredFields();// for (Field field : fields) {// System.out.println(field.getName());// }getImageInfo();iv_image.setImageResource(R.drawable.blrise);btn_save.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {saveImage();getImageInfo();}});saveImage();}protected void getImageInfo() {SharedPreferences mSharedPreferences = getSharedPreferences("image", Context.MODE_PRIVATE);String imageBase64 = mSharedPreferences.getString("imageBase64", "");byte[] base64Bytes = Base64.decodeBase64(imageBase64.getBytes());ByteArrayInputStream bais = new ByteArrayInputStream(base64Bytes);iv_image2.setImageDrawable(Drawable.createFromStream(bais, "image"));}private void saveImage() {SharedPreferences mSharedPreferences = getSharedPreferences("image", Context.MODE_PRIVATE);Editor mEditor = mSharedPreferences.edit();ByteArrayOutputStream baos = new ByteArrayOutputStream();((BitmapDrawable) iv_image.getDrawable()).getBitmap().compress(CompressFormat.JPEG, 50, baos);String imageBase64 = new String(Base64.encodeBase64(baos.toByteArray()));mEditor.putString("imageBase64", imageBase64);mEditor.commit();}}

?

?

base64image.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent" ><TextView    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="结果:" /><ImageView  android:id="@+id/iv_image"    android:layout_width="fill_parent"     android:layout_height="wrap_content"/><Buttonandroid:id="@+id/btn_save"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="保存" /><ImageView  android:id="@+id/iv_image2"    android:layout_width="fill_parent"     android:layout_height="wrap_content"/></LinearLayout>

?

?

热点排行