Я сделал приложение для рисования в Android Studio. как я могу сохранить рисунок во внутренней памяти и потом просмотреть его в другом действии? У меня есть несколько кодов в Интернете о том, как сохранить растровое изображение, но это не сработает, и я не знаю, что я сделал неправильно. Я уже застрял в этой части.
Вот некоторые из кодов:
public onClick(View v){
if(v.getId() == R.id.btnBrush){
.....
}
else if(v.getId() == R.id.btnErase){
.....
}
else if(v.getId() == R.id.ibtnSave){
//save button clicked
final Dialog saveDialog = new Dialog(this);
saveDialog.setTitle("Save");
saveDialog.setContentView(R.layout.save_form);
saveDialog.show();
inputName = (EditText) findViewById(R.id.drawFile);
inputDate = (EditText) findViewById(R.id.date);
btnSave = (Button) saveDialog.findViewById(R.id.btnSave);
btnCancel = (Button) saveDialog.findViewById(R.id.btnCancel);
btnSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
iView.setDrawingCacheEnabled(true);
save();
saveDialog.dismiss();
Intent intent = new Intent(DrawingPanel.this, Gallery.class);
startActivity(intent);
finish();
iView.destroyDrawingCache();
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
saveDialog.dismiss();
}
});
}
}
public void save(){
Bitmap bitmap = iView.getDrawingCache();
try{
FileOutputStream fos = openFileOutput(inputName.getText().toString() + ".png", Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
if(fos != null){
Toast saved = Toast.makeText(getApplicationContext(), "Image saved.", Toast.LENGTH_SHORT);
saved.show();
}
else{
Toast unsaved = Toast.makeText(getApplicationContext(), "Image not save.", Toast.LENGTH_SHORT);
unsaved.show();
}
fos.close();
}
catch(Exception e){
Log.e("save()", e.getMessage());
}
}
Я тоже хочу добавить дату, но не знаю, как это сделать. Мне очень жаль, ребята. Я просто новичок в студии Android, и я не очень хорош в этом, поэтому мне нужна помощь, потому что я действительно хочу учиться.
inputName.getText().toString()
. Вы должны точно сказать, что вы там напечатали. - person greenapps   schedule 09.04.2015it won't work
. Ну тебе лучше сказать, что именно не работает. Как далеко течет ваш код? Какие-то исключения или ошибки? - person greenapps   schedule 09.04.2015if(fos != null)
. Это не говорит о том, что что-то было сохранено. Лучше проверьте возвращаемое значение bitmap.compress().. - person greenapps   schedule 09.04.2015