Bonjour à tous,

Je suis nouveau dans le milieu de programmation Android et j'ai besoin de votre aide

J'aimerai simplement, pour l'instant, faire un petit programme qui, prend une photo avec l'appareil photo puis l'affiche dans l'application.
J'ai déja fait une bonne dizaine de forum/tuto mais je n'y arrive toujours pas ! L'appareil photo se lance, je prend la photo, mais ensuite l'appli crash et logcat indique une runtimeExeption.

Voila le code que j'ai pour l'instant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class MainActivity extends Activity {
 
 
 
 
	private static final int PHOTO_RESULT = 0;
	private File mFichier;
	 ImageView image;
 
 
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
 
		image = (ImageView)findViewById(R.id.ivImage);
		takePhoto();
		displayImage();
	}
 
	public void displayImage(){
		 Bitmap bitmap = null;
 
		 bitmap = BitmapFactory.decodeFile(mFichier.getAbsolutePath());
		 image.setImageBitmap(bitmap);
 
	}
 
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
 
 
 
	public void takePhoto(){
		// L'endroit où sera enregistrée la photo
		// Remarquez que mFichier est un attribut de ma classe
		mFichier = new File(Environment.getExternalStorageDirectory(), "photo.jpg");
		// On récupère ensuite l'URI associée au fichier
		Uri fileUri = Uri.fromFile(mFichier);
 
		// Maintenant, on crée l'intent
		Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
		// Et on déclare qu'on veut que l'image soit enregistrée là où pointe l'URI
		intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
 
		// Enfin, on lance l'intent pour que l'application de photo se lance
		startActivityForResult(intent, PHOTO_RESULT);
		//onActivityResult(PHOTO_RESULT, RESULT_OK, intent);
 
	}
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	  if (requestCode == PHOTO_RESULT && resultCode == RESULT_OK) {
	    if (data != null) {
	      if (data.hasExtra("data"));
 
	       Bitmap thumbnail = data.getParcelableExtra("data");
 
 
	    } else {
	      // On sait ici que le fichier pointé par mFichier est accessible, on peut donc faire ce qu'on veut avec, par exemple en faire un Bitmap
	      Bitmap image = BitmapFactory.decodeFile(mFichier.getAbsolutePath());
 
	    }
	  }
	}
	}
Je vous remercie d'avance !