Je souhaite créer un fragment dans un fichier png et l'enregistrer sur l'appareil. Mais je ne comprends pas comment enregistrer le fichier sur le périphérique de stockage interne. Je reçois l'exception "FileNotFoundException e" lorsque j'essaie le programme.Créer un fragment dans un fichier image et l'enregistrer sur le disque dur interne du téléphone
Button save = (Button) findViewById(R.id.save);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
View fragment = (View) findViewById(R.id.fragment2);
viewToBitmap(fragment);
}
}
);
}
public Bitmap viewToBitmap(View view) {
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
try {
FileOutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory() + "/path/to/file.png");
bitmap.compress(Bitmap.CompressFormat.PNG, 100, output);
output.close();
} catch (FileNotFoundException e) {
Toast.makeText(this, "Error1", Toast.LENGTH_SHORT).show();
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(this, "Error2", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
return bitmap;
}