2 clcurie 11 clcurie_11 于 2013.07.31 11:37 提问

使用Shared Preferences如何把多幅图像保存在ImageView中?

在一个activity中有两个ImageViews,用户可以长按一个 ImageView ,就可以从 camera gallery 中选择获取任何图像。我想保存这些图像的路径,所以当用户再次打开或关闭程序时,图像仍在imageView中,这是为什么呢?

这是 imageView所在的Activity A :

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
    if (requestCode == SELECT_PICTURE) {
    Uri selectedImageUri = data.getData();
    selectedImagePath = getPath(selectedImageUri);
    System.out.println("Image Path : " + selectedImagePath);
    im1.setImageURI(selectedImageUri);}}}

public String getPath(Uri uri) {
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);};

    @Override
protected void onPause() {
    SharedPreferences sp = getSharedPreferences("AppSharedPref", 1); // Open SharedPreferences with name AppSharedPref
    Editor editor = sp.edit();
    editor.putString("ImagePath", selectedImagePath); // Store selectedImagePath with key "ImagePath". This key will be then used to retrieve data.         
    editor.commit();
    super.onPause();
    }   

protected void onResume1() {
    SharedPreferences sp = getSharedPreferences("AppSharedPref", 1);
    selectedImagePath = sp.getString("ImagePath", "");
    super.onResume();
    }

Activity B 获取 cam gallery图片,然后发送到 Activity A

 Button send = (Button) findViewById(R.id.send);
    send.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent intent=new Intent();
            setResult(RESULT_OK, intent);
            Bundle bundle=new Bundle();
            bundle.putInt("image",R.id.showImg);
            intent.putExtras(bundle);
            finish();  }
            });
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        if (requestCode == SELECT_PICTURE) {
            Uri selectedImageUri = data.getData();
            selectedImagePath = getPath(selectedImageUri);
            System.out.println("Image Path : " + selectedImagePath);
            img.setImageURI(selectedImageUri);
        }}}
 public String getPath(Uri uri) {
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
将ImageView中的图片保存到本地相册
private void SaveImageToSysAlbum() { if (FileUtil.isSdCardExist()) { BitmapDrawable bmpDrawable = (BitmapDrawable)mFullImageView.getDrawable(); Bitmap bmp = bmpDrawable.getBitmap(); if (bmp
Eclipse:保存首选项配置(Preferences)
Eclipse:保存首选项配置(Preferences)
SharedPreferences 使用注意事项
1.  创建      SharedPreferences preferences = getSharedPreferences("first",MODE_WORLD_READABLE + MODE_MULTI_PROCESS); //注意刚刚生成的这个文件first的权限,后续貌似改不了权限的,除非卸载了重新run         SharedPreferences.Editor edito
多幅图像存储为mat文件
mat数据格式是matlab的数据存储的标准格式。几个相关函数名:load 打开mat文件save 关闭\保存mat文件load('filename','X','Y','Z') 加载filename文件中的X Y Z变量到工作区间中save('filename','-struct','s') 保存结构体s 到filename中将某一路径下的所有图片存储到一个三维数组中,每张图片的数据存储为三维数组...
Android — 使用 sharedPreferences 本地保存 key-value 数据
如何使用SharedPreferences
04 ImageView中图片保存到文件
最近做的一个小App中的一个功能, 把ImageView中的图片保存为一个 jpg文件。 如果设备上有SDCard,图片会被保存到SD卡上,如果没有则保存在设备的存储空间中。 这里主要包含了两个要点,一是 Android文件保存时文件夹的创建;二是 ImageView中图片提取并保存为图片。 感觉今后还会用到,这里总结一下以后方便查找。 程序运行界面: 使用类
SharedPreferences的存储位置和格式
public class SharedPreferencesTest extends Activity{ SharedPreferences preferences; SharedPreferences.Editor editor; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance
Camera的使用
调用系统的照相机,拍照,把拍出来的照片先存在手机内存中,再用输出流保存在bitmap中,并设置给ImageView
20160722关于保存应用图片到本地的相册
一年没有写博客了,从ios入门到熟练应该有一年的时间,最近对保存应用图片到本地相册有了新的认识,所以想分享一下。 如果是简单保存图片,而不要创建相册保存  可以下面的代码 - (IBAction)save { // 存储图片到"相机胶卷" UIImageWriteToSavedPhotosAlbum(self.imageView.image, self, @selector(i
把ImageView控件的图片保存为文件
把ImageView控件展示的图片保存为手机中的jpeg文件。