AsyncTask에 진행률 대화 상자가 표시되지 않음

니틴 굽타

http에서 json (video detail) 데이터를 가져 와서 사용자가 선택한 범주별로 활동에 대한 listview에 표시하기 위해 배열 목록에 추가하고 싶습니다. 하지만 인터넷에서 데이터를 가져올 때 진행률 대화 상자를 표시하고 싶습니다.

public class GetOnlineData extends AsyncTask<String, Integer,   ArrayList<McuVideo>> {
private Activity activity; 
private  ArrayList<McuVideo> arrayvid;
private String sdcard_path;
private ProgressDialog pdialog;
public GetOnlineData(Activity activity)
{
    this.activity=activity;
     sdcard_path=Environment.getExternalStorageDirectory()+File.separator
     +"McuVideos";  arrayvid=new ArrayList<McuVideo>();

}
@Override
protected void onPreExecute()
{
super.onPreExecute();
pdialog = new ProgressDialog(activity);
Log.d("pre", "pre");
pdialog.setMessage("Please waiit");
pdialog.setTitle("Loading");
pdialog.setIndeterminate(true);
pdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//  dialog.setCancelable(false);
//  dialog.setCanceledOnTouchOutside(false);
pdialog.show();
}
@Override
protected void onPostExecute(ArrayList<McuVideo> result)
{
    super.onPostExecute(result);
    if(pdialog.isShowing())
    pdialog.dismiss();
    Log.d("post", "post");
}
@Override
protected void onProgressUpdate(Integer... progress)
{
super.onProgressUpdate(progress);
pdialog.setProgress(progress[0]);
Log.d("pupdate", ""+progress[0]);
}
@Override
protected ArrayList<McuVideo> doInBackground(String... address) {
    StringBuilder builder = new StringBuilder();
    HttpClient client = new DefaultHttpClient();
    HttpGet httpGet = new HttpGet(address[0]);
    try{
        HttpResponse response = client.execute(httpGet);
        StatusLine statusLine = response.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if(statusCode == 200){
            HttpEntity entity = response.getEntity();
            //Log.d("context length",""+entity.getContentLength());
            InputStream content = entity.getContent();

BufferedReader reader = new BufferedReader(new   InputStreamReader(content));
            String line;
            int i=0;
            while((line = reader.readLine()) != null){

                builder.append(line);
                Log.d("line length",""+line.length());
                i++;
    //  publishProgress(builder.length());

            }
        } else {
            MyToast.makeToast(activity,"failed to load data",MyToast.ERROR, MyToast.DURATION_LONG).show();
            Log.e(MainActivity.class.toString(),"Failedet JSON object");
            //super.onCancelled();
            cancel(true);
        }
    } catch (Exception e){
    Toast.makeText(activity,e.toString(), Toast.LENGTH_LONG).show();

    }

     try{
            if(builder.length()>15)
            {
     //          Log.d("query",query[0]);
     JSONObject  jsonRootObject = new JSONObject(builder.toString());
     JSONArray jsonArray = jsonRootObject.optJSONArray("videos");
                 for(int i=1; i <jsonArray.length(); i++)
                             {
               JSONObject jsonObject = jsonArray.getJSONObject(i);
 Long vid =Long.parseLong(jsonObject.optString("vid").toString());
 String title = jsonObject.optString("title").toString();
 //String path =context.getResources().getString(R.string.base_web_url)+       jsonObject.optString("path").toString();
  String description = jsonObject.optString("description").toString();//.substring(0, 20);
                                     String path =      jsonObject.optString("path").toString();

                                    // String duration=jsonObject.optString("duration").toString();
                                     String duration=jsonObject.optString("upload_date").toString();
                                     String category=jsonObject.optString("category").toString();
                                //  URL url = new URL(context.getResources().getString(R.string.web_url)+"/thumnails/"+vid+".jpg");
                                 // Bitmap  bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
                                     //String thumnail_path=context.getResources().getString(R.string.web_url)+"/thumnails/"+vid+".jpg";
                                   //  String thumnail_path="http://sugamgroups.com/mcu/thumnails/"+vid+".jpg";
                                 //    String thumnail_path=GlobalData.t
                              URL url = new URL (activity.getApplicationContext().getResources().getString(R.string.base_web_url)+"/thumbnails/"+vid+".jpg"); 
                             //        URL url = new URL(thumnail_path);
                                    File file = new File(sdcard_path+File.separator+vid+".jpg");

                                 // long startTime = System.currentTimeMillis();
                                 // Log.d("DownloadFile", "Begin Download URL: " + url + " Filename: " + fileName);
                                    try
                                    {
                                    URLConnection ucon = url.openConnection();
                                    InputStream is = ucon.getInputStream();
                                    BufferedInputStream bis = new BufferedInputStream(is);
                                    ByteArrayBuffer baf = new ByteArrayBuffer(50);
                                    int current = 0;
                                    while ((current = bis.read()) != -1)
                                        baf.append((byte) current);
                                    FileOutputStream fos = new FileOutputStream(file);
                                    fos.write(baf.toByteArray());
                                    fos.flush();
                                    fos.close();
                                    }
                                    catch(Exception e)
                                    {
                                    Log.e("1",e.toString());
                                    }
                                 // Toast.makeText(activity, "file download",Toast.LENGTH_LONG).show();
                                    //bmp.compress(Bitmap.CompressFormat.JPEG ,Bitmap., stream)*/
                                    arrayvid.add(new McuVideo(vid,path,duration,title,description,category));
                                //    Thread.sleep(1000);
                             publishProgress((int)i*100/jsonArray.length());


                                 }
            }

                    } 
                 catch(Exception e)
                    {
                //   Log.e(GetOnlineVideos.this.toString(), e.toString());
                        MyToast.makeToast(activity, e.toString(), MyToast.ERROR, MyToast.DURATION_LONG).show();
                   }


                  return arrayvid;




}

 }
끈적 끈적한 밥

다음을 시도하십시오. 1.이 줄에 주석 달기

//pdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

2. 진행 값을 양의 정수로 얻는 지 확인하십시오. 진행 상황을 기록하고 확인

publishProgress((int)i*100/jsonArray.length());

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android-AsyncTask가 완료되지 않은 경우에만 버튼 클릭시 진행률 대화 상자 표시

분류에서Dev

Android 비동기 작업에 진행률 대화 상자가 표시되지 않음

분류에서Dev

진행률 대화 상자가 표시되지 않습니다.

분류에서Dev

진행률 대화 상자가 표시되지 않습니다.

분류에서Dev

진행률 대화 상자 Android Studio에서 진행률이 증가하지 않음

분류에서Dev

그림을로드하는 동안 진행률 대화 상자가 표시되지 않음

분류에서Dev

사용자 지정 시작 화면에서 진행률 표시 줄이 업데이트되지 않음

분류에서Dev

onClick 메서드가 끝날 때까지 Android 진행률 대화 상자가 표시되지 않습니다.

분류에서Dev

진행률 표시기에서 상태가 변경되지 않음

분류에서Dev

해상도와 밀도가 다른 화면에 사용자 지정 진행률 표시 줄이 제대로 맞지 않음

분류에서Dev

진행률 대화 상자가 표시되지 않는 이유는 무엇입니까?

분류에서Dev

Android asynctask 기능이 완료 될 때까지 진행률 대화 상자 표시

분류에서Dev

ipad에 wkewbview 경고 대화 상자가 표시되지 않음

분류에서Dev

JQUERY UI 대화 상자에 div가 표시되지 않음

분류에서Dev

진행률 대화 상자-AsyncTask

분류에서Dev

Facebook 피드 대화 상자에 사진이 표시되지 않음

분류에서Dev

프로세스 대화 상자가 표시되지 않음 (Android / AsyncTask)

분류에서Dev

미디어 컨트롤러가 사운드 파일을로드하는 동안 진행률 대화 상자가 표시되지 않음

분류에서Dev

진행률 대화 상자가 Android Studio에 계속 표시됩니다.

분류에서Dev

작업 중 AsyncTask가 대화 상자를 표시하지 않음

분류에서Dev

장치가 메모리 정리를 수행 할 때 진행률 대화 상자가 회전하지 않음

분류에서Dev

방법이 완료되지 않은 동안 진행률 표시 줄 대화 상자

분류에서Dev

Flutter : 진행률 대화 상자가 숨겨지지 않습니다.

분류에서Dev

진행률 대화 상자 스피너가 회전하지 않습니다.

분류에서Dev

부트 스트랩 진행률 표시 줄에 색상이 표시되지 않음

분류에서Dev

MFC 대화 상자에 위첨자 4가 표시되지 않음

분류에서Dev

jquery 대화 상자에 ColdFusion 페이지가 표시되지 않음

분류에서Dev

복사 진행률 대화 상자를 항상 맨 위에 표시

분류에서Dev

대화 상자에 비트 맵이 표시되지 않음

Related 관련 기사

  1. 1

    Android-AsyncTask가 완료되지 않은 경우에만 버튼 클릭시 진행률 대화 상자 표시

  2. 2

    Android 비동기 작업에 진행률 대화 상자가 표시되지 않음

  3. 3

    진행률 대화 상자가 표시되지 않습니다.

  4. 4

    진행률 대화 상자가 표시되지 않습니다.

  5. 5

    진행률 대화 상자 Android Studio에서 진행률이 증가하지 않음

  6. 6

    그림을로드하는 동안 진행률 대화 상자가 표시되지 않음

  7. 7

    사용자 지정 시작 화면에서 진행률 표시 줄이 업데이트되지 않음

  8. 8

    onClick 메서드가 끝날 때까지 Android 진행률 대화 상자가 표시되지 않습니다.

  9. 9

    진행률 표시기에서 상태가 변경되지 않음

  10. 10

    해상도와 밀도가 다른 화면에 사용자 지정 진행률 표시 줄이 제대로 맞지 않음

  11. 11

    진행률 대화 상자가 표시되지 않는 이유는 무엇입니까?

  12. 12

    Android asynctask 기능이 완료 될 때까지 진행률 대화 상자 표시

  13. 13

    ipad에 wkewbview 경고 대화 상자가 표시되지 않음

  14. 14

    JQUERY UI 대화 상자에 div가 표시되지 않음

  15. 15

    진행률 대화 상자-AsyncTask

  16. 16

    Facebook 피드 대화 상자에 사진이 표시되지 않음

  17. 17

    프로세스 대화 상자가 표시되지 않음 (Android / AsyncTask)

  18. 18

    미디어 컨트롤러가 사운드 파일을로드하는 동안 진행률 대화 상자가 표시되지 않음

  19. 19

    진행률 대화 상자가 Android Studio에 계속 표시됩니다.

  20. 20

    작업 중 AsyncTask가 대화 상자를 표시하지 않음

  21. 21

    장치가 메모리 정리를 수행 할 때 진행률 대화 상자가 회전하지 않음

  22. 22

    방법이 완료되지 않은 동안 진행률 표시 줄 대화 상자

  23. 23

    Flutter : 진행률 대화 상자가 숨겨지지 않습니다.

  24. 24

    진행률 대화 상자 스피너가 회전하지 않습니다.

  25. 25

    부트 스트랩 진행률 표시 줄에 색상이 표시되지 않음

  26. 26

    MFC 대화 상자에 위첨자 4가 표시되지 않음

  27. 27

    jquery 대화 상자에 ColdFusion 페이지가 표시되지 않음

  28. 28

    복사 진행률 대화 상자를 항상 맨 위에 표시

  29. 29

    대화 상자에 비트 맵이 표시되지 않음

뜨겁다태그

보관