마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이클립스 오류?와 UUID.randomUUID().toString()를 EditText로 대체하기?

0 추천

안드로이드 다이알로그에 EditText붙여 파일이름을 받으려고 합니다. Yes 버튼과 No 버튼이 있고 실행하면 파일이름을 받았고 여기까지는 잘 되는 듯 보였습니다.

			AlertDialog.Builder saveDialog = new AlertDialog.Builder(this);
			saveDialog.setTitle("Save ");
			saveDialog.setMessage("Save this?");
			final EditText input = new EditText(this);
			saveDialog.setView(input);
			saveDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
				public void onClick(DialogInterface dialog, int which){
					
					tstView.setDrawingCacheEnabled(true);
					String value = input.getText().toString();
					String imgSaved = MediaStore.Images.Media.insertImage(
							getContentResolver(), tstView.getDrawingCache(),
					//		UUID.randomUUID().toString()+".png", "drawing");
							value+".png", "important!");					

					tstView.destroyDrawingCache();
				}
			});

 

 "// UUID.randomUUID().toString()+".png", "drawing");" 를 주석하고 "value+".png", "important!");" 를 사용하면 파일이름은 만들어 졌으나 이미지 내용이 흰색으로 채워져 있습니다. 다시 " UUID.randomUUID().toString()+".png", "drawing");" 로 바꾸어 주면  이미지 내용이 정상적으로 나오나 파일이름은 난수로 만들어진 숫자가 되버립니다.

 

질문1:

텍스트에디트로 파일명을 받고 싶은데 위 처럼 "value+".png", "important!");"을 사용하면 저장이 이상하게 될까요? 실제 기기에서는 에디트텍스트로 받은 "파일명.png"이 만들어지나 내부는 백색으로 도배되어있고 이클립스에 포함된 안드로이드 에물레이터에서는 imgSaved가 null 나와 저장할 수 없습니다.  "UUID.randomUUID()"로 나오는  String을 텍스트에디트로 받을 뿐... 이해할 수가 없네요.

 

질문2:

해결하려고 4시간 정도를 소비하는 중 이상한 현상이 나옵니다. 문제는 파일이름을 작성하고 OK버튼을 누르면 이젠 생성된 이미지 파일 이름이 모두 숫자로 적용된다는~.. ㅠㅠ  "UUID.randomUUID().toString()+".png", "drawing");" 와 "value+".png", "important!");" 중 무엇을 사용해도 똑같이 숫자로만 나옵니다.  처음에는 에디트 박스가 작동을 정상적으로 했으나 이것 저것 수정하면서 이렇게 되버렸습니다. 되돌리기를 했는데도 같고~ #$%??? ㅜㅜ 대략 4시간 시간을 보내다 못해 질문합니다. 이클립스 오류일까요?

질문 두 개를 두서 없이 올렸습니다. 설명 좀 주세요.

 

타드이별펍 (440 포인트) 님이 2014년 9월 2일 질문
타드이별펍님이 2014년 9월 2일 수정

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...