@Override
public boolean onOptionsItemSelected(MenuItem item) {
// item객체에 어느 옵션메뉴를 클릭했는지에 대한 정보가 있다.
switch (item.getItemId()) {
case 1:// 저장하기를 선택했을때 list를 파일로 저장한다(ObjectoutputStream) : 클래서에 대한 정보를
// 담는다.
// ArrayList를 담기 위해서는 point를 serializable(직렬화)을
// implements해주어야만한다(자바는 되있는데 안드로이드는 안되있다)
// 해당 클래스(Paint or ArrayList 를 클릭해서 클래스 정보를 보면 직렬화를 임플리먼츠 했는지 안했는지 알
// 수 있다)
try {
FileOutputStream fos = openFileOutput(sdpath + "/mydraw/" + "picture.dat",
Context.MODE_WORLD_WRITEABLE);
// 객체를 파일에 저장하기 위해 objectOutputStream 객체로 감싼다.
ObjectOutputStream oos = new ObjectOutputStream(fos);
// Myview의 멤버필드 즉 ArrayList를 저장한다.
oos.writeObject(myView.list);
oos.close();
Toast.makeText(this, "저장성공!", 0).show();
} catch (Exception e) {
Log.e("저장실패:", e.getMessage());
Toast.makeText(this, "저장실패!", 0).show();
}
break;
지금 그림을 그리고 저장을누르면 저장실패라고 뜹니다.
sd카드에 mydraw라는 폴더를 생성했고 여기에 "picture.dat" 라고 저장하려고 썻는데
저장이 안되네요..