안드로이드 개발 질문/답변
(글 수 45,052)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.picky_main_screen);
//비동기 다운로드 할 동안 보여줄 ProgressDialog를 생성
myProgressDialog = ProgressDialog.show(Picky_Main_Screen.this, "wait..", "good..");
//flipper를 객체로 선언
flipper = (ViewFlipper)findViewById(R.id.viewFlipper);
//flipper를 터치 이벤트에 등록한다.
flipper.setOnTouchListener(this);
//Thread로 비동기 다운로드 입니다.
new Thread(new Runnable(){
public void run(){
try {
runOnUiThread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
//postData();
GetImageFromURL();
}
});
}
catch (Exception e){
}
myProgressDialog.dismiss();
}
}).start();
private Bitmap[] GetImageFromURL() {
String[] str ={5개의 주소를 넣고};
Bitmap[] imgBitmap = new Bitmap[str.length];
ImageView[] img = new ImageView[str.length];
img[0] = (ImageView)findViewById(R.id.imageView0);
img[1] = (ImageView)findViewById(R.id.imageView1);
img[2] = (ImageView)findViewById(R.id.imageView2);
img[3] = (ImageView)findViewById(R.id.imageView3);
img[4] = (ImageView)findViewById(R.id.imageView4);
/* TextView text = (TextView)findViewById(R.id.textView1);
text.setText("ddd");*/
//인터넷 연결을 위해 try/catch를 한다.
try {
//for문 시작
for(int i=0; i<str.length; ++i){
//url 등록
URL url = new URL("str[i]);
URLConnection conn = url.openConnection();
//모르겟다..
//conn.setConnectTimeout(5000);
//conn.setUseCaches(false);
conn.connect();
int nSize = conn.getContentLength();
//접속한 url로부터 데이터값을 받아온다.
BufferedInputStream bis = new BufferedInputStream(conn.getInputStream(), nSize);
//얻어온 이미지를 bitmap에 저장
imgBitmap[i] = BitmapFactory.decodeStream(bis);
//BufferedInputStream 종료
bis.close();
img[i].setImageBitmap(imgBitmap[i]);
} //for문 종료
//image저장
//
} catch (Exception e) {
e.printStackTrace();
}
return imgBitmap;
}
이렇게 소스를 짯는데요...
처음에 화면이 뜰때 흰 화면이 뜨네요..뭐가문제인거죠..;;
빈 화면은 뜨는데 시간이 좀 걸리네요...그래서..뭔가 부자연스럽게보입니다...
문제가 뭔지 조언부탁드립니다.




R.layout.picky_main_screen 의 배경색이 흰색일 것 같군요..
비동기로 짠다고 짜신거같은데 비동기가 아닌걸로 보입니다.
UI쓰레드에서 다운로드를 하시기 때문에
다운로드 될때까지 멈춰있는 현상이 지속되는걸로 보입니다.
http://huni.springnote.com/pages/5414657 페이지를 참고하시고 다시 한번 작성해보세요.