2016-04-21 14 views
-1

ich diesen Code verwendet, um Bild aus der Galerie zu laden .it perfectly..but das Problem funktioniert, ist, dass ich es DATABASE in wamp speichern möchte das Bild in den Weg bekommen ..`Get PicturePath aus der Galerie ausgewählt speichern in der Datenbank

public class Image extends Activity { 
ImageView contact; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_image); 


    contact = (ImageView) findViewById(R.id.candidat); 
    contact.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(); 
      intent.setType("image/*"); 
      intent.setAction(Intent.ACTION_GET_CONTENT); 
      startActivityForResult(Intent.createChooser(intent, "Select  Contact Image"), 1); 


     } 
    }); 
} 

public void onActivityResult(int reqCode, int resCode, Intent data) { 


    if (resCode == RESULT_OK) { 

     if (reqCode == 1) 
      contact.setImageURI(data.getData()); 


    } 


} 
    } 

Vielen Dank für Hilfe

Antwort

0

Sie können den genauen Pfad mit dieser Methode erhalten -

public String getPathFromURI(Uri contentURI) { 
    String result = null; 
    Cursor cursor = getContentResolver().query(contentURI, null, null, null, null); 
    if (cursor != null) { 
     cursor.moveToFirst(); 
     int _id = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); 
     result = cursor.getString(_id); 
     cursor.close(); 
    } 
    return result; 
} 

Und es verwenden möchte -

public void onActivityResult(int reqCode, int resCode, Intent data) { 
    if (resCode == RESULT_OK) { 

     if (reqCode == 1) 
      contact.setImageURI(data.getData()); 
      String path = getPathFromURI(data.getData()); 
    } 
} 
+0

Sie können aber auch den hier beschriebenen Ansatz verwenden 'http : // hmkcode.com/android-display-selected-image-und-sein-real-pfad/'. Es enthält die Methoden für verschiedene API-Ebenen. –

+0

danke für die Antwort, aber wenn ich diesen Code hinzugefügt und das Bild überprüft, hat meine Anwendung gestoppt !! –

+0

Fügen Sie bitte die Absturzprotokolle ein. –

0

diesen Code setzen:

public static final int IMAGEM = 1; 

in dem Click-Put:

startActivityForResult(Intent.createChooser(new Intent(Intent.ACTION_PICK).setType("image/*"), "Select a image"), IMAGE); 

In Ihrer Tätigkeit:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent){ 
    try { 
     if (resultCode == RESULT_OK && requestCode == IMAGE){ 
      String pathImg = getRealPathFromURI(intent.getData()); 
     } 
    }catch (Exception e){ 
     e.printStackTrace(); 
    } 
} 


public String getRealPathFromURI(Uri uri) { 
//this method work for any api 
    Cursor cursor = null; 
    try { 
     Uri newUri = handleImageUri(uri); 
     String[] proj = { MediaStore.Images.Media.DATA }; 
     cursor = getContentResolver().query(newUri, proj, null, null, null); 
     int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } catch (Exception e){ 
     return null; 
    } finally { 
     if (cursor != null) { 
      cursor.close(); 
     } 
    } 
} 
Verwandte Themen