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 :
Je vous remercie d'avance !
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()); } } } }
Partager