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)
Quelle est cette activité TestareActivity? –