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

edittext에 써놓은글을 onTextWriting 저장 질문드립니다.

0 추천

아래처럼 해도

1) 저장된 txt메뉴를 불러오기 메뉴에서 불러오는것은 가능하나,

    실제 단말기 연결해서 해당 txt 파일을 찾으면 안보입니다. SDcard상에 

-> 무엇이 잘못된건가요? 일주일째 찾아봐도 초보라 답이 안나오네요 ㅠㅠ

 

2) edittext 에 멀티라인으로 적용되어있는데, 저장하기 누르면 멀티라인이 적용이 안되고

     singleline 으로만 저장이됩니다.

-> 저장시 엔터로 된부분도 같이 저장이 되게 하고 싶은데, 소스부분에서 어느부분을 수정해야 할까요?ㅠㅠ

 

	private void onTextWriting(String title,String body){
		File file;
		file = new File(path);
		if(!file.exists()){
			file.mkdirs();
		}
		file = new File(path+File.separator+title+".txt");
		try{
			FileOutputStream fos = new FileOutputStream(file);
			BufferedWriter buw = new BufferedWriter(new OutputStreamWriter(fos, "UTF8"));
			buw.write(body);
			buw.close();
			fos.close();
			Toast.makeText(this, "파일이 저장되었습니다.", Toast.LENGTH_SHORT).show();
		}catch(IOException e){

		}

 

 

		etText = (EditText) findViewById(R.id.note);
		etText.setVerticalScrollBarEnabled(true);
		etText.requestFocus();

		etText.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				etText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_CLASS_TEXT); // 값=131073  한글 멀티라인
				// InputMethodManager 안하면  두번 클릭해야 keyboard 나타남.
				InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
				mgr.showSoftInput(etText, InputMethodManager.SHOW_IMPLICIT);
			}
		});

 

익명사용자 님이 2016년 2월 18일 질문

1개의 답변

0 추천
1) path 를 어케 지정하셨는지 모르겠으나 탐색기 같은걸로 봤을 때 찾을 수 없었다면 인터널 메모리에 저장한 것이 아닌가 싶습니다.

인터널 메모리는 os주요 프로그램 및 파일, 사용자가 설치한 프로그램 등이 저장되는 영역입니다.

이곳은 슈퍼유저가 아니면 접근할 수 없습니다.(루팅 얘깁니다...)

Environment 에 보시면 getExternalStorage() 였나?;;; 암튼 함수가 있습니다.

그걸 기준으로 파일을 저장해보세요.

 

2) 단순하게 코드만 봐서는 개행문자가 빠질 이유가 없어 보입니다.

1번의 답변을 보시고 실제 txt파일을 직접 확인해보시면 어떨까요...
비애천사 (12,090 포인트) 님이 2016년 2월 19일 답변
path = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator+"/TEST_TEXT_WRITE";

식으로 위치가 되어 있는데요. 저장을 누르고, 실제 단말기 연결 후 잘저장이 되었나 해당 폴더 /TEXT_TEXT_WRITE 가보면 아무것도 없더라구요 ~
하지만 파일은 열리구요...
...