2011-12-23 5 views
0

Je travaille sur un projet de liste de contacts dans android et je veux faire un bouton de navigation pour parcourir une image et l'enregistrer dans ma base de données pour chaque contact.Et puis je veux afficher l'image sur l'écran. pourriez-vous me donner s'il vous plaît un bon exemple ou un tutoriel de la façon de parcourir les images et les enregistrer/récupérer de la base de données? Pour commencer j'ai essayé juste de faire un programme pour parcourir l'image, mais j'ai une erreur.android parcourir les images

voici mon .java:

package ianco.test.andrei; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.database.Cursor; 
    import android.net.Uri; 
    import android.os.Bundle; 
    import android.provider.MediaStore; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 

    public class BrowsePicture extends Activity { 

//YOU CAN EDIT THIS TO WHATEVER YOU WANT 
private static final int SELECT_PICTURE = 1; 

private String selectedImagePath; 
//ADDED 
private String filemanagerstring; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 



    Button sButton = (Button) findViewById(R.id.button1); 
    sButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View arg0) { 

      // in onCreate or any event where your want the user to 
      // select a file 
      Intent intent = new Intent(); 
      intent.setType("image/*"); 
      intent.setAction(Intent.ACTION_GET_CONTENT); 
      startActivityForResult(Intent.createChooser(intent, 
        "Select Picture"), SELECT_PICTURE); 
     } 
    }); 
} 

//UPDATED 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == SELECT_PICTURE) { 
      Uri selectedImageUri = data.getData(); 

      //OI FILE Manager 
      filemanagerstring = selectedImageUri.getPath(); 

      //MEDIA GALLERY 
      selectedImagePath = getPath(selectedImageUri); 

      //DEBUG PURPOSE - you can delete this if you want 
      if(selectedImagePath!=null) 
       System.out.println(selectedImagePath); 
      else System.out.println("selectedImagePath is null"); 
      if(filemanagerstring!=null) 
       System.out.println(filemanagerstring); 
      else System.out.println("filemanagerstring is null"); 

      //NOW WE HAVE OUR WANTED STRING 
      if(selectedImagePath!=null) 
       System.out.println("selectedImagePath is the right one for you!"); 
      else 
       System.out.println("filemanagerstring is the right one for you!"); 
     } 
    } 
} 

//UPDATED! 
public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    if(cursor!=null) 
    { 
     //HERE YOU WILL GET A NULLPOINTER IF CURSOR IS NULL 
     //THIS CAN BE, IF YOU USED OI FILE MANAGER FOR PICKING THE MEDIA 
     int column_index = cursor 
     .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 
    else return null; 
} 

}

erreur est: 12-24 00:14:07.742: E/AndroidRuntime(365): FATAL EXCEPTION: main 12-24 00:14:07.742: E/AndroidRuntime(365): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ianco.test.andrei/ianco.test.andrei.TestareActivity}: java.lang.ClassNotFoundException: ianco.test.andrei.TestareActivity in loader dalvik.system.PathClassLoader[/data/app/ianco.test.andrei-1.apk] 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.os.Handler.dispatchMessage(Handler.java:99) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.os.Looper.loop(Looper.java:123) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.ActivityThread.main(ActivityThread.java:4627) 12-24 00:14:07.742: E/AndroidRuntime(365): at java.lang.reflect.Method.invokeNative(Native Method) 12-24 00:14:07.742: E/AndroidRuntime(365): at java.lang.reflect.Method.invoke(Method.java:521) 12-24 00:14:07.742: E/AndroidRuntime(365): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 12-24 00:14:07.742: E/AndroidRuntime(365): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 12-24 00:14:07.742: E/AndroidRuntime(365): at dalvik.system.NativeStart.main(Native Method) 12-24 00:14:07.742: E/AndroidRuntime(365): Caused by: java.lang.ClassNotFoundException: ianco.test.andrei.TestareActivity in loader dalvik.system.PathClassLoader[/data/app/ianco.test.andrei-1.apk] 12-24 00:14:07.742: E/AndroidRuntime(365): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 12-24 00:14:07.742: E/AndroidRuntime(365): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 12-24 00:14:07.742: E/AndroidRuntime(365): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 12-24 00:14:07.742: E/AndroidRuntime(365): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)

+0

Quelle est cette activité TestareActivity? –

Répondre

0

Votre manifeste a une référence à un TestareActivity qui n'existe pas:

00:14:07.742: E/AndroidRuntime(365): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ianco.test.andrei/ianco.test.andrei.TestareActivity}: java.lang.ClassNotFoundException: ianco.test.andrei.TestareActivity in loader dalvik.system.PathClassLoader[/data/app/ianco.test.andrei-1.apk] 

Corrigez le manifeste ou ajoutez l'activité manquante.

Questions connexes