Con l'URI:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); immagine=(ImageView)findViewById(R.id.imageView1); Intent intent=new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setData(Uri.parse("content://media/external/images/media")); startActivityForResult(intent, 0); } ... protected void onActivityResult(int requestCode, int resultCode, Intent data){ if(resultCode==RESULT_OK){ immagine.setImageURI(data.getData()); } }E fin qui è abbastanza facile...
Adesso facciamo mediante il Path, che dobbiamo andare a risolvere mediante il metodo getContentResolver().query.
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); immagine=(ImageView)findViewById(R.id.imageView1); Intent intent=new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setData(Uri.parse("content://media/external/images/media")); startActivityForResult(intent, 0); } protected void onActivityResult(int requestCode, int resultCode, Intent data){ if(resultCode==RESULT_OK){ Bitmap bmp=BitmapFactory.decodeFile(getPathFromUri(data.getData())); immagine.setImageBitmap(bmp); } } public String getPathFromUri(Uri uri){ Cursor cursor = getContentResolver().query(uri, null, null, null, null); cursor.moveToFirst(); int indice=cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); String stringa=cursor.getString(indice); return stringa; }Bene. Funziona!
Adesso dalle risorse:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); immagine=(ImageView)findViewById(R.id.imageView1); immagine.setImageResource(R.drawable.faciadecul); }
Nessun commento:
Posta un commento