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

안드로이드 이미지뷰를 통해 서버에서 이미지파일을 여러개 받아오고 싶습니다

0 추천
public class MainActivity extends AppCompatActivity {

 
    LoadImage loadimg;
    ImageView imageView;
    Bitmap bmImg;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        imageView = (ImageView) findViewById(R.id.imageView1);

    }

  private class LoadImage extends AsyncTask<String, String, Bitmap> {

        ProgressDialog pDialog;
        
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(MainActivity.this);
            pDialog.setMessage("이미지 로딩중입니다...");
            pDialog.show();
        }

        protected Bitmap doInBackground(String... args) {
            try {
                bmImg = BitmapFactory
                        .decodeStream((InputStream) new URL(args[0])
                                .getContent());

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

        protected void onPostExecute(Bitmap image) {

            if (image != null) {
                imageView.setImageBitmap(image);
                pDialog.dismiss();

            } else {
                pDialog.dismiss();
                Toast.makeText(MainActivity.this, "이미지가 존재하지 않습니다.",
                        Toast.LENGTH_SHORT).show();

            }
        }
    }

 

   private class phpDown extends AsyncTask<String, Integer, String>{

       protected void onPostExecute(String str){
           
            String Image;

            try{
                JSONObject root = new JSONObject(str);
                JSONArray ja = root.getJSONArray("results");
                for(int i=0; i<ja.length(); i++){
                    JSONObject jo = ja.getJSONObject(i);
                    id = jo.getString("id");
                    
                    Image = jo.getString("ImageUrl");
                    listItem.add(new ListItem(id,.... Image));
                }
            }catch(JSONException e){
                e.printStackTrace();
            }

            loadimg = new LoadImage();
            loadimg.execute(listItem.get(0).getData(9));

(필요없다고 생각한 부분은 생략하였습니다)
제가 데이터베이스를 연동해 안드로이드상에서 이미지를 출력하려고 하는데

이렇게 phpdown클래스에서 리스트로 이미지 url을 저장한 뒤 LoadImage클래스를 이용하여 비트맵화 해서 출력하는 코드를 작성하고 있습니다

그런데 단일 이미지는 출력이 되는데 이미지를 여러개 출력하는걸 어떻게 접근해야할 지 모르겠습니다..

LoadImage의 onPostExecute클래스 내에있는  imageView.setImageBitmap(image); 를 수정해야할 것 같은데 아무래도 혼자 찾아보면서 하려니 막막해서 부탁드리겠습니다
boolks (240 포인트) 님이 2016년 10월 9일 질문

2개의 답변

+1 추천
ListView나 RecyclerView 같은 거 사용해서 표시하면 되겠네요..
isul (7,920 포인트) 님이 2016년 10월 10일 답변
리스트뷰로 이미지 나열은 잘 된것 같습니다! 감사합니다ㅋㅋ
+1 추천
리모트 이미지를 불러오는 코드는 구글 샘플에도 있습니다.생각보다 신경써줘야할 게 많기 때문에 직접 구현하는 건 공부차원에서 하시고 picasso, glide같은 검증된 라이브러리를 사용하시길 추천합니다.
spark (227,830 포인트) 님이 2016년 10월 10일 답변
글라이드가 신의 한수였던 것 같아요 많이 배워갑니다 감사합니다ㅜㅜ
...