마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

java.lang.RuntimeException: An error occured while executing doInBackground() 에 대해 질문드립니다...

0 추천
public class ReadData3 extends  AsyncTask<String, Integer, ArrayList<String>>
{
	
	String rst;
	MemberDTO act1;
	Context ctx1;
	String ID;
	String PASSWORD;
 	String AGE;
 	String NAME;
 	String LOGINFO;
	String MISSING;
	String PHONE;
	String RELATION;
	String ID2;
	String NAME2;
	
	public ReadData3(Context context, MemberDTO mainact){
		super();
		this.act1 = mainact;
		this.ctx1 = context;
	}

    public ReadData3(Context context, OnClickListener onClickListener) {
		// TODO Auto-generated constructor stub
	}

	@Override
    protected void onPostExecute(ArrayList<String> data) {
        super.onPostExecute(data);
    
	Handler mHandler = new Handler(Looper.getMainLooper());
	mHandler.postDelayed(new Runnable() {
	@Override
	public void run() {
	     // 내용
		
	}
	}, 0);
}
    @Override
    protected ArrayList<String> doInBackground(String... params) {
        try {
            JSONArray personsNames = act1.getPersonsData1();//여기
            ArrayList<String> persons = new ArrayList<String>();

          for(int i=0; i< personsNames.length(); i++)
           {
            	String fullname = personsNames.getJSONObject(i).getString("ID") + "/" + personsNames.getJSONObject(i).getString("PASSWORD")+ "/" + personsNames.getJSONObject(i).getString("NAME")+ "/" + personsNames.getJSONObject(i).getString("AGE")+ "/" + personsNames.getJSONObject(i).getString("PHONE")+ "/" + personsNames.getJSONObject(i).getString("0")+ "/" + personsNames.getJSONObject(i).getString("ID2")+ "/" + personsNames.getJSONObject(i).getString("RELATION")+ "/" + personsNames.getJSONObject(i).getString("MISSING");
                persons.add(fullname);
           }

            return persons;

        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
08-04 16:17:23.293: E/AndroidRuntime(10403): FATAL EXCEPTION: AsyncTask #1
08-04 16:17:23.293: E/AndroidRuntime(10403): java.lang.RuntimeException: An error occured while executing doInBackground()
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at android.os.AsyncTask$3.done(AsyncTask.java:278)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.lang.Thread.run(Thread.java:856)
08-04 16:17:23.293: E/AndroidRuntime(10403): Caused by: java.lang.NullPointerException
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at com.example.jsonsampleapp.ReadData3.doInBackground(ReadData3.java:71)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at com.example.jsonsampleapp.ReadData3.doInBackground(ReadData3.java:1)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at android.os.AsyncTask$2.call(AsyncTask.java:264)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-04 16:17:23.293: E/AndroidRuntime(10403): 	... 5 more

밑은로그입니다 java.lang.RuntimeException: An error occured while executing doInBackground() 이게 왜 뜨는지 잘 모르겠습니다..ㅠㅠ

 for(int i=0; i< personsNames.length(); i++)

           {
            String fullname = personsNames.getJSONObject(i).getString("ID") + "/" + personsNames.getJSONObject(i).getString("PASSWORD")+ "/" + personsNames.getJSONObject(i).getString("NAME")+ "/" + personsNames.getJSONObject(i).getString("AGE")+ "/" + personsNames.getJSONObject(i).getString("PHONE")+ "/" + personsNames.getJSONObject(i).getString("0")+ "/" + personsNames.getJSONObject(i).getString("ID2")+ "/" + personsNames.getJSONObject(i).getString("RELATION")+ "/" + personsNames.getJSONObject(i).getString("MISSING");
                persons.add(fullname);
           } 여기가 71번째 줄입니다 ReadData3
익명사용자 님이 2015년 8월 4일 질문

1개의 답변

0 추천
 
채택된 답변
An error occurred while executing doInBackground() 이 에러는 doInBackground()를 실행하는 동안 에러가 났다는거고,

에러 내용은 아래 NullPointerException을 보시면 됩니다.

ReadData3 클래스에서 71번째 줄에서 에러가 나는거니 거기서 사용하는 객체가 NULL 인지 확인해 보세요.
작전동 (5,890 포인트) 님이 2015년 8월 4일 답변
...