2011-05-21 69 views
2

我正在尝试向我的应用程序添加功能,以允许用户通过单击按钮然后从其画廊中选择图像来选择要在按钮上显示的图像。我有下面的代码,允许选择图像并将其显示在按钮上,但如果用户退出应用程序,它将重置为默认图像。我一直在试图弄清楚如何合并数据库来实现这一点,但没有太多的运气。想知道如果有人有这样的例子或想法在不同的方式去做这件事?谢谢。Android应用程序 - 允许用户选择按钮图像

package com.example.imagepicker; 

import java.io.FileNotFoundException; 
import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageButton; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class ImagePicker extends Activity { 
TextView textTargetUri; 
ImageView targetImage; 
ImageButton buttonLoadImage; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     textTargetUri = (TextView)findViewById(R.id.targeturi); 
     buttonLoadImage = (ImageButton)findViewById(R.id.Button01); 
}  
public void button1pressed(View v) { 
    Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    startActivityForResult(intent, 0); 
    } 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK){ 
     Uri targetUri = data.getData(); 
     textTargetUri.setText(targetUri.toString()); 
     Bitmap bitmapa; 
     Bitmap bitmapb; 
     try { 
      bitmapa = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri)); 
      bitmapb = Bitmap.createScaledBitmap (bitmapa,100,100,false); 
      buttonLoadImage.setImageBitmap(bitmapb); 
      } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       } 
     } 
    } 
} 

回答

相关问题