Page 609 - 3-3
P. 609

private class GetData extends AsyncTask<String, Void, String> {
                       // 스레드에 제네릭스로 미리명시
                       ProgressDialog progressDialog;
                       // 진행 다이얼로그 표시변수
                       String errorString = null;
                       // 에러값 표시


                       @Override
                       protected void onPreExecute() {      // 스레드 초기화작업
                           super.onPreExecute(); // Background 작업 시작전에 UI      작업진행
                           progressDialog = ProgressDialog.show(DataActivity.this,
                                   "Please Wait", null, true, true);
                           //progressDialog 와 Please Wait 표시
                       }


                       @Override


                       protected void onPostExecute(String result) {
                           //doInBackground  메소드 종료후 리턴값을 PostExecute           메소드에서 파라메터로
              전달받는 메소드
                           super.onPostExecute(result); // Background  작업 끝난후 ui    작업진행
                           progressDialog.dismiss(); // progressDialog  버림
                           mTextViewResult.setText(result); // TextView 에 결과값 표시


                           if (result == null) {
                               mTextViewResult.setText(errorString); //  결과값 없을 경우 에러표시
                           } else {
                               mJsonString = result; //  결과값 있을경우 결과값을 변수에 저장
                               showResult(); //  결과값 표시
                           }
                       }


                       @Override
                       // 외부에서 execute    함수호출할때 정의된 파라미터를 배열로 전달받음
                       protected String doInBackground(String... params) {
                           //background  작업 진행
                           String serverURL = params[0];


                           //URL 자원이 존재하지않거나 프로토콜이 올바르지 않을경우 방지위해 예외처리
                           try {
                               URL url = new URL(serverURL);
                               // 연결url 설정
                               HttpURLConnection httpURLConnection = (HttpURLConnection)
              url.openConnection();


                                                          - 609 -
   604   605   606   607   608   609   610   611   612   613   614