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

json listview Asynctask 일시정지 질문이요

0 추천

json으로 데이터를 받아서 listview를 만들었는데요 너무 데이터가 많아서 게시글 10개 가져올때마다 wait()를 써서 일시정지하고 맨아래 더보기 버튼을 눌렀을때 notify()를써서 다시 갱신할려고하는데 이렇게하면 안되는 건가요?? 계속 강제종료가 되요

final StunoteJsonReadTask task = new StunoteJsonReadTask(adapter);

try {
    String resultTask = task.execute(url).get();
    Log.e("msg : ",resultTask);
} catch (InterruptedException e) {
    e.printStackTrace();
    Log.e("msg : ","error");
} catch (ExecutionException e) {
    e.printStackTrace();
    Log.e("msg : ","error");
}

Button btn = (Button) view.findViewById(R.id.StuListMoreBtn);
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        task.notify();
    }
});


return view;
protected void onPostExecute(String result) {
    super.onPostExecute(result);

    try{
        JSONObject jsonResponse = new JSONObject(result);
        JSONArray jsonMainNode = jsonResponse.optJSONArray("major_document");

        for(int i = 0;i<jsonMainNode.length();i++)
        {
            if(i != 0 && i % 10 == 0){
                this.wait();
            }
            JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);

            String document_srl = jsonChildNode.optString("document_srl");
            String title = jsonChildNode.optString("title");
            String content = jsonChildNode.optString("content");
            String regDate = jsonChildNode.optString("regdate");
            String readed_count = jsonChildNode.optString("readed_count");
            String commentCount = jsonChildNode.optString("comment_count");
            ListViewItem tempList = new ListViewItem();
            adapter.addItem(document_srl,title,content,regDate,readed_count,commentCount);
        }
        adapter.notifyDataSetChanged();
        Log.e("msg : ","입력 완료");
    }catch(JSONException e){
        Log.e("msg : ","JSON 오류");
    }catch (InterruptedException e) {
        Log.e("msg : ","Wait 오류");
    }
}
뱅이 (620 포인트) 님이 2017년 9월 21일 질문
보통은 0~10개 이런식으로 요청을 하고 더보기를 선택하면 11~20 개 를 요청해서 더합니다.
server는 client 에서 요청한 정보를 기준으로 query 에 범위만 정해주면 되니깐요

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...