private class back extends AsyncTask<String, Integer,Bitmap>{ // 서버 이미지 폴더에서 그림 받아 오는 함수
@Override
protected Bitmap doInBackground(String... urls) {
// TODO Auto-generated method stub
try{
URL myFileUrl = new URL(urls[0]);
HttpURLConnection conn = (HttpURLConnection)myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bmImg = BitmapFactory.decodeStream(is);
}catch(IOException e){
e.printStackTrace();
}
return bmImg;
}
protected void onPostExecute(Bitmap img){
iv.setImageBitmap(bmImg); // 프로필 사진 뒷 부분에 이미지를 넣는다.
iv.setScaleType(ImageView.ScaleType.FIT_XY); // 이미지 타입 설정
}
}
--------------------------------------------------------------------------------------------------------------------------------위로 이미지 파일 불러오기 밑에는 php웹서버에서 이미지 파일 이름 불러오기
private class phpDown extends AsyncTask<String, Integer, String> { // 받아오기
@Override
protected String doInBackground(String... urls) {
// TODO Auto-generated method stub
StringBuilder jsonHtml = new StringBuilder();
try {
// 연결 url 설정
URL url = new URL(urls[0]);
// 커넥션 객체 생성
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
// 연결되었으면.
if (conn != null) {
conn.setConnectTimeout(5000);
conn.setUseCaches(false);
// 연결되었음 코드가 리턴되면.
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream(),"UTF-8"));
for (;;) {
// 웹상에 보여지는 텍스트를 라인단위로 읽어 저장.
String line = br.readLine();
if (line == null)
break;
// 저장된 텍스트 라인을 jsonHtml에 붙여넣음
jsonHtml.append(line + "\n");
}
br.close();
}
conn.disconnect();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return jsonHtml.toString();
}
protected void onPostExecute(String str) {
//img_str= str;
TxtView.setText("1 : "+str);
TxtView2.setText("2 : "+img_str);
task = new back();
task.execute(imgUrl+str);
Log.e("str", str);
Log.e("img_str", img_str);
}
}
서버에서 이미지 파일 이름 값을 받아와서 어플 화면에 이미지를 출력합니다. 여기서
그림을 불러오는게 task.execute(imgUrl+str)인데 여기서 str 이부분을 직접 타이핑해서 파일이름(2014-10-25_14_42_4006809_BG.jpg)을 치면 이미지가 출력 됩니다. 하지만 제가 위에 올려 놓은 함수로 서버에서 2014-10-25_14_42_4006809_BG.jpg 파일 이름을 받아서 사용하면 이미지가 불러와지지가 않습니다. 제가 아무리 문제점이 뭔지 파악 할려고 해도 로그 캣에서 그냥 단순힌 파일을 찾을수 없다고 나옵니다.
java.io.FileNotFoundException: http://192.168.0.3/memberimg/2014-10-25_14_42_4006809_BG.jpg
ㅠㅠ
쉽게 말하면 직접
task.execute(imgUrl+str) 이렇게 str 을 서버에서 받아오면 안되고
task.execute(imgUrl+"2014-10-25_14_42_4006809_BG.jpg") 이렇게 직접 타이핑 하면 됩니다.
제발 도와주세요.