2011-03-20 6 views
4

나는 안드로이드 개발에 매우 ​​익숙하며, 이클립스에서 기존 소스 코드를 수정할 수있는 방법을 찾고 있으므로 apk가 설치되면 xml 파일이 apk 내부에서 외부 저장소의 특정 폴더로 복사됩니다.apk가 설치 될 때 apk가 sdcard에서 파일을 만드는 방법은 무엇입니까?

이 방법이 있습니까?

+0

웹 서버에서 파일을 다운로드 한 다음 해당 파일을 다운로드하는 앱용 코드가 있습니다. 이 파일을 가져 오는 프로세스는 현재 응용 프로그램의 GUI에서 처리됩니다. 일단 파일이 SD 카드에 다운로드되면 프로그램은 그 파일을 가지고 작업을합니다. 내가하고 싶은 것은 응용 프로그램을 올바른 파일로 시작하고 사용자를 GUI의 선택/다운로드 부분에 노출시키지 말아야한다는 것입니다. 나는 코더가 아니기 때문에 이것을하는 가장 간단한 방법을 찾고있다. – m13124

답변

3

질문을 참조하십시오 여기에 대답 ... Android: How to create a directory on the SD Card and copy files from /res/raw to it??

편집 : 그것에 대해 생각, 나는/자산 폴더 및/입술/원시하지를 사용합니다. 이

File myFilesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/com.mycompany.myApp/files"); 

앱의 패키지 이름을 위의 경로에 com.mycompany.myApp를 교체

먼저 외부 저장 장치 (일반적으로 SD 카드)에 유효한 폴더를 얻을

... 내가 무슨 약이다.

그런 다음 다음은 예를 들어, xyz123.txt, xyz456.xml 등

try { 
    AssetManager am = getAssets(); 
    String[] list = am.list(""); 
    for (String s:list) { 
     if (s.startsWith("xyz")) { 
      Log.d(TAG, "Copying asset file " + s); 
      InputStream inStream = am.open(s); 
      int size = inStream.available(); 
      byte[] buffer = new byte[size]; 
      inStream.read(buffer); 
      inStream.close(); 
      FileOutputStream fos = new FileOutputStream(myFilesDir + "/" + s); 
      fos.write(buffer); 
      fos.close(); 
     } 
    } 
} 
catch (Exception e) { 
    // Better to handle specific exceptions such as IOException etc 
    // as this is just a catch-all 
} 

주 당신이 다음과 같은 권한이 필요합니다, 파일 이름이 "XYZ"로 시작하여 자산 폴더에서 모든 파일을 복사합니다 AndroidManifest.xml 파일 ...

+0

고마워! 그게 내가 찾고있는 것 같아,하지만 그 대답을 기반으로 그것을 구현하기에는 너무 적합하지 않습니다. 나는 정말로 코더가 아니며 나는 여기서 약간의 단서를 만들고있다. 올바르게 구현 될 때 이것이 실제로 어떻게 보이는지에 대한 코드 스 니펫을 표시 할 수있는 방법이 있습니까? – m13124

+0

@ m13124 : 위의 대답은 EDIT에서 확인하십시오. – Squonk

+0

고맙다 MisterSquonk! 시도해 보겠습니다. – m13124

관련 문제