2012-12-08 2 views
1

바탕 화면에 4 개의 txt 파일이 있습니다. 나는이 파일들을 읽고 EditText에서 이것을 인쇄 할 안드로이드 애플 리케이션을 만들지 만, 이 파일들은 ddms -> myapp -> data -> file에서 마약 드롭입니다.내 휴대 기기에서 android의 txt 파일을 읽습니다.

에뮬레이터를 사용하면 내 앱이 올바르게 재생되지만 휴대 전화에서는 이러한 파일을 읽고 앱을 닫지 마십시오.

이 내 코드입니다 :

public String ReadFileTrack1() 
    { 
     FileInputStream fIn = null; 
     InputStreamReader isr = null; 
     char[] inputBuffer = new char[900]; 
     String data = null; 

     try 
     { 
     fIn = openFileInput(tracks[0]+".txt"); 
     isr = new InputStreamReader(fIn); 
     isr.read(inputBuffer); 

     data = new String(inputBuffer); 
     } 

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

     finally 
     { 
     try 
     { 
      isr.close(); 
      fIn.close(); 
     } 

     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
     } 

     return data; 
    } 

코드는 정확하지만 내 휴대 전화에서 재생되지 않습니다. 이 문제를 해결하려면 어떻게해야합니까? 내 휴대 전화에서이 4 개의 txt 파일을로드하여 앱이 올바르게 재생되도록하려면 어떻게해야합니까?

답변

1

보안 장치에서 응용 프로그램의 개인 저장소 디렉터리에 쓸 수 없습니다. 응용 프로그램이 먼저 하위 디렉터리를 만들고 다른 사용자에게 쓰기 권한을 부여하지 않는 한 일반적으로 좋지 않습니다.

외부 저장소 (sdcard)에 파일을 저장하거나 빌드 할 때 파일을 apk의 자산으로 패키지화하십시오.

(예외 : 응용 프로그램이 디버그 가능하다면 adb 쉘의 run-as 도구를 사용하여 appliction 사용자로 개인 디렉토리에 무언가를 복사 할 수 있지만 그게 분명하지 않고 원하는 것이 아닙니다. 일반적으로이 기능은 다른 방향으로 사용되어 제대로 작동하지 않을 때 개발중인 앱이 파일이나 데이터베이스에 수행 한 작업을 검사합니다.

관련 문제