http://.............. 에서 파일을 다운받는 코드를 작성해야 해서...
김상형 님의 책에 있는 다운받는 코드를 가져다 썼습니다.

  public static boolean Download(String Url, String FileName) {
   URL mp3url;
   int Read;
   
   try {
    mp3url = new URL(Url);
    HttpURLConnection conn= (HttpURLConnection)mp3url.openConnection();
    int len = conn.getContentLength();
    byte[] raster = new byte[len];
    InputStream is = conn.getInputStream();
    FileOutputStream fos = mMain.openFileOutput(FileName, 0);
    <중간 생략---------------------------김상형 님의 동의를 구하지 못한 관계로~>
    is.close();
    fos.close();
    conn.disconnect();
   } catch (Exception e) {
    return false;
   }
   return true;
  }


하지만, 첫번째....다운 받았는지...확인할 방법을 몰랐습니다.
그래서.. 김상형 님의 다운로드 예제를 실행해 놓고...
소스에 있는 child3.jpg 을 도스에서 dir 명령으로 뒤져보고.. 구글 데스크탑으로 뒤져보고.
캐쉬폴더도 뒤져 봤습니다..... 역시나...바보 같은 삽질이였죠...

책에 이런 설명이 있었다면...참 좋았을텐데.... 시간을 2일이나 날렸죠..(물론 집에서 4시간씩 밖에 못하니 총 8시간 낭비~)
에뮬에 있는 데이터는 에뮬 안에 DDMS (약자도 모름) 에서 제공하는 File Explorer 로 보인다는 사실을요...

그래서..보니...예제에 의한 child3.jpg 은 다운된게 보이는데... 제꺼는 안보이더군요...
그래서... 다운이 안되는 이유를 생각해 보고 찾아보다가.... 퍼미션 permission 이라는게 필요하다는걸 알게 되었습니다.


그래서. 김상형 님의 예제에서 사용된 퍼미션을 참조해서...그대로... 저도 추가했습니다.
퍼미션은 <your-name>Manifest.xml 에서 지정합니다. 클릭해 보면 대충 감옵니다.

예제에 있는 INTERNET, WRITE_EXTERNALS_STORAGE, ACCESS_NETWORK_STATE, VIBRATE
것들을 [Uses Permission] 을 선택해서 추가했습니다. [Uses Permission] 말고 다른건 모하는건지 모르겠네요 ^^;

눈으로 봐도... VIBRATE 빼고 3개 다 필요할 것 같네요.

하지만. http URL 다운을 위해 모가 정확하게 필요한지....나중에 생각해 보죠..ㅋㅋㅋㅋ


끝.


검색 키워드: http download url permission manifest DDMS File explorer mp3