2016-10-03 7 views
0

장치의 폰 메모리에 텍스트 파일을 저장하려고했는데 외부 슬롯을 지원하는 장치로 작동하고 있었지만 외부 슬롯이없는 안드로이드 폰에서는 작동하지 않습니다 (예 : 삼성 S6 Edge). 여기 Android : 외부 메모리 카드가 아닌 안드로이드 장치의 내부 메모리에 텍스트 파일을 저장 하시겠습니까?

내 코드입니다 : 장치가있는 경우

Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 

:

public void AfterSaveClick() { 

     OutputStream fOut = null; 

     try { 

      Toast.makeText(MainActivity.this, "Start",Toast.LENGTH_SHORT).show(); 
      //device basic path(phone memory) 
      File root = new File(Environment.getExternalStorageDirectory() 
        + File.separator + "Log_Folder" + File.separator); 
      root.mkdirs(); 
      File phoneMemoryTextMainDirectory = new File(root, "samples.txt"); 

      FileWriter writer = new FileWriter(phoneMemoryTextMainDirectory); 
      writer.append("Hello"); 
      writer.flush(); 
      writer.close(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
+0

올바른 코드를 사용하고 있다고 생각합니다. 예외가 발생 했습니까? * 참고 : "외부"라는 단어와 혼동하지 마십시오. 이 디렉토리는 media/shared storage *로 더 잘 생각할 수 있습니다. * - ['getExternalStorageDirectory()'] (https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()) –

+0

예외는 무엇입니까? 너? – JDenais

+0

나는 어떤 exception도 얻지 못한다. sample Edge는 S6 Edge, MotoG (sd 카드를 지원하지 않는) – kgsharathkumar

답변

1

나는 당신이 할 일은 먼저 확인 장치가 외부 저장 장치가있는 경우,이 같은 것을 사용할 수 있습니다 생각 외부 저장소에 저장 한 다음 기존 경로를 사용하십시오. 그렇지 않으면 휴대 전화의 내부 메모리에 다른 경로를 추가해야합니다.