0
내 앱에서 특정 활동이 호출되었을 때 URL에서 이미지를 보여줍니다. URL에서 이미지가 느리게로드되는 바와 같이, 내가 안드로이드 - 진행 대화 상자가 나타나지 않습니다.
다음
가 진행 대화 beofr의 이미지를 표시하려면 코드입니다, 여기에 대화 진행을 보여주기 위해 시도하고class ShowImageTagList extends AsyncTask<Void, Void, Void>
{
ProgressDialog dialog = new ProgressDialog(UploadPhoto.this);
protected void onPreExecute()
{
Log.e("preexcute ","called");
this.dialog.setMessage(" Loading ...");
this.dialog.setCancelable(false);
this.dialog.show();
}
protected Void doInBackground(Void... args)
{
try
{
JSONObject json = new JSONObject(Appconstants.photo_details);
JSONArray photoperson = json.getJSONArray("photopersons");
Log.e("photoperson ","value @ photoperson "+photoperson);
for(int j=0; j < photoperson.length(); j++)
{
id.add(photoperson.getJSONObject(j).getString("pid").toString());
names.add(photoperson.getJSONObject(j).getString("name").toString());
}
}
catch(Exception e)
{
Log.e("Eception caught", ""+e);
}
return null ;
}
protected void onPostExecute(Void unused)
{
Log.e("post execute ","called");
Bitmap bm = getBitmapFromURL(Appconstants.image_url.get(Appconstants.img_i));
img_to_upload.setImageBitmap(bm);
list_tag.setAdapter(new ListviewAdapter(UploadPhoto.this, names, id));
dialog.dismiss();
}
}
public static Bitmap getBitmapFromURL(String src)
{
try
{
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
}
catch (IOException e)
{
e.printStackTrace();
Log.e("Exception",e.getMessage());
return null;
}
}
진행 대화 상자가 나타납니다 즉각 나타나지 않으면 이미지가 나타나기 전에 마이크로 초 동안 나타납니다. 그러나 실행 전 로그와 백그라운드 로그는 즉시 인쇄됩니다. asyn 작업이 호출 된 때 긴 주요이기 때문에,
방법