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

mysql 이미지 파일 안드로이드로 다운로드 왜 안되는지 문의드립니다.

0 추천
public static Bitmap downloadfile(String fileurl) {
  Bitmap bmImg = null;
  URL myfileurl = null;
  try {
   myfileurl = new URL(fileurl);
  } catch (MalformedURLException e) {
   e.printStackTrace();
  }
  try {
   HttpURLConnection conn = (HttpURLConnection) myfileurl
     .openConnection();
   conn.setDoInput(true);
   conn.connect();
   int length = conn.getContentLength();
   if (length > 0) {
    int[] bitmapData = new int[length];
    byte[] bitmapData2 = new byte[length];
    InputStream is = conn.getInputStream();
    bmImg = BitmapFactory.decodeStream(is);
   } else {

   }

  } catch (IOException e) {

  }

  return bmImg;

 }

mysql의 이미지를 안드로이드에서 보여주기 위해서

mysql에는 파일의 위치를 저장해두고 php를 이용해서 위치를 안드로이드로 가져왔습니다.

그 후 안드로이드에서 위 메소드를 이용해서 이미지를 비트맵으로 뿌려주려고 했는데

이미지 출력이 되지 않습니다.

로그캣에는 SkImageDecoder::Factory returned null이라고 나오는데 왜 안되는지 모르겠습니다.......

 

이미지 위치는 http://서버주소/폴더명/파일명.jpg 이런식 입니다.

익명사용자 님이 2014년 4월 24일 질문

1개의 답변

+1 추천
이미지를 내장메모리에 저장한 뒤 단말기 상에서 다른 앱을 사용해서 바르게 보여지는지 확인을 한번 해보시는게 좋을꺼같네요.
인연 (31,880 포인트) 님이 2014년 4월 25일 답변
말씀하신대로 해보니 이미지 제대로 출력됩니다만........
혹시나해서 저 코드로 더 많은 사진을 테스트해봤는데 몇개는 출력이 되고 몇개는 출력이 안되는 현상이 나타나내요... 변환하는과정에서 어떠한 손실이 일어나는건지....잘 모르겠네요. 혹시 이 부분에 대해 잘 아시나요? 코드를 더 손봐야할 부분이나...
http://4rangkorea.blog.me/30099039677 이곳을 참고해서 해보세요.
아무래도 내부의 버그같은건가 보네요..
답변감사합니다! 제가 지금 이거때문에 미치겠어요 ㅠㅠㅠㅠ며칠동안....
그런데 이게 안드로이드 코드의 문제가 아닌것 같습니다. 웹에서 http://localhost/폴더명/파일명.jpg 입력해서 불러오면 안되는 것들이 있더라구요.  그게 안드로이드에서도 안불러와지고 안드로이드에서 불러와지는 사진들은 웹에서도 잘 보입니다.
Parse error: parse error, unexpected ']' in 오류 메세지는 이런식인데 사진마다 또 다 다릅니다.
서버에 사진을 올릴때 손실이 일어났을까 하고 원본사진으로 해봐도 안되더군요.
대체 뭐가 문제인지.....혹시 서버에서 어떤 설정이 필요한건지 혹시 아시나요..............ㅠ

사진자체의 문제라기에는 너무 많은 사진들이 이런 현상이 일어나고 (10개중 5개는 이런 현상이....) 제가 보기엔 어떠한 규칙도 찾을 수가 없어서 너무 머리가 아프네요
...