2014-11-27 3 views
0

로딩 막대와 같이 팝업 상자로 실행하는 것이 이상적입니다. 사용자가 아이콘을 클릭하여 앱을 실행하면 ... 앱이로드되면 앱이 사라집니다. 당신의에서 onCreate() 메소드에서Ecplise를 사용하여 응용 프로그램이 데이터를로드 할 때 내 안드로이드 응용 프로그램에 진행률 막대를 추가하려고합니다.

private ProgressDialog mProgressDialog; 

:

내가이 일을하지만, 작업 해결책을 찾기 위해 고군분투하는 방법을 연구하고있다 ... 어떤 도움을

+0

무엇을 시도 했습니까? 정확히 무엇을 적재하고 있습니까? 비동기 작업을 사용하고 있습니까? 아니면 UI 스레드에서 모든 것을로드하고 있습니까? – mobilepotato7

답변

2

당신은 안드로이드 ProgressBar을 사용할 수 있습니다, 당신은 두 가지 선택이 있습니다

<ProgressBar 
    style="@android:attr/progressBarStyleLarge" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:indeterminate="true" /> 

을 이것은 영원히 반복 할 회 전자를 제공 할 것입니다. 그런 다음 필요에 따라 이것을 숨기십시오.

범위가 넓은 SO의 대안. 데이터의

  • 크기는 다운로드 남아있는 총 시간을 계산하려면 클라이언트 데이터 전송

  • 현재 속도를 다운로드 : 원리는 그러나, 다음과 같은 수 있습니다. 그런 다음 핸들러를 사용하여 일반적인 선형 progressBar에 정기적으로 업데이트를 게시하면 다운로드를 추적하는 진행률 표시 줄이 나타납니다. 그러나 MS가해온 모든 것에서 보았 듯이이 계산은 연결 속도가 계속 변하기 때문에 까다 롭습니다.

    희망이 있습니다.

  • 1

    이 새의 ProgressBar를 선언 좋을 것

    mProgressDialog = new ProgressDialog(YOURACTIVITY); 
    mProgressDialog.setMessage(""); 
    mProgressDialog.setIndeterminate(false); 
    mProgressDialog.setMax(100); 
    mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
    

    당신이 원하는 때 대화 상자를 표시 :

    mProgressDialog.show(); 
    mProgressDialog.setCanceledOnTouchOutside(false); 
    

    진행 상황을 추가

    mProgressDialog.setProgress(INT PROGRESS); 
    

    당신이 원하는 때 대화 상자를 닫습니다 :

    mProgressDialog.dismiss();