将图片保存到可绘制文件或我的数据库android

时间:2013-11-15 12:59:53

标签: android eclipse

我有这个代码..当我点击按钮时我会从我的设备库中选择一张图片,然后在imageview上查看它 我想做的是我可以将选定的图像保存到我的数据库的可绘制文件中吗?

package com.example.testpic;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity 
{
Button btnGal;
ImageView ivGalImg;
Bitmap bmp;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnGal         =     (Button)findViewById(R.id.btnGallary);
    ivGalImg     =     (ImageView)findViewById(R.id.ivImage);

    btnGal.setOnClickListener(new OnClickListener() 
    {            
        @Override
        public void onClick(View arg0) 
        {
            openGallery();                
        }
    }); 
}

private void openGallery()
{
    Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
    photoPickerIntent.setType("image/*");
    startActivityForResult(photoPickerIntent, 1);
}

@Override
protected void onActivityResult(int requestCode, int resultcode, Intent intent)
{
  super.onActivityResult(requestCode, resultcode, intent);

  if (requestCode == 1) 
  {
      if (intent != null && resultcode == RESULT_OK) 
      {              

            Uri selectedImage = intent.getData();

            String[] filePathColumn = {MediaStore.Images.Media.DATA};
            Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
            cursor.moveToFirst();
            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String filePath = cursor.getString(columnIndex);
            cursor.close();

            if(bmp != null && !bmp.isRecycled())
            {
                bmp = null;                
            }

            bmp = BitmapFactory.decodeFile(filePath);
            ivGalImg.setBackg`enter code here`roundResource(0);
            ivGalImg.setImageBitmap(bmp);              
      }
      else 
      {
          Log.d("Status:", "Photopicker canceled");            
      }
  }
}
}

1 个答案:

答案 0 :(得分:1)

  1. 生成apk文件后无法将图像保存到 drawable 文件夹
  2. 您可以将图像路径保存到数据库
  3. 您可以将图片复制并以编程方式存储到您的手机中,谷歌搜索