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

Fragment 에서 HttpPost 로딩이 궁금합니다.

0 추천
안녕하세요.

public class JsonFragment extends Fragment  여기에서

보여지는 값을 HttpPost 를 통해 json 값으로 리스트를 표시해주려고 합니다.

 

onCreateView 에서 처리했더니, mainThread 에서 UI 관련 작업이 안된다고 해서,

 

implements LoaderCallbacks<T> 를 사용해보았는데요,

 

여기서 질문입니다.

 

기존에는 onCreateView 안에서 동적으로 layout 들 생성해서 리턴해주면 그만이었는데,

 

onCreateLoader, onLoadFinished, onLoaderReset 로 구분하려니

정작 onCreateLoader 에서 Async 로 JSON데이터를 읽어온 후 어떻게 layout 에 삽입해줘야 하는지

통 찾을 수가 없네요 .

 

ListFragment SimpleAdapter를 통하면 ListView를 쉽게 컨트롤 한다지만,

저는 JSON 데이터라 어떻게 처리하는지에 대한 예제도 찾기 쉽지 않습니다.

 

도움될만한 자료좀 있으신 분 계신가요?
출근 (150 포인트) 님이 2013년 12월 16일 질문
출근님이 2013년 12월 16일 수정

1개의 답변

0 추천
 
채택된 답변

http://susemi99.tistory.com/735 여기 보면 json 파싱하는 법이 있어요.

json object, json array 를 사용하는거죠.

json 사용법은 asset에 예제 .json 파일 만들어서 파싱하는거 연습하세요.

 

네트웍으로 결과를 받는 건 async task를 사용하면 됩니다.

async task의 onPostExecute 에서 json string 결과값을 특정 함수로 넘겨주고, 넘겨받은 json string을 파싱해서 사용하면 됩니다.

 

 

 

쎄미 (162,410 포인트) 님이 2013년 12월 16일 답변
출근님이 2013년 12월 17일 채택됨
답변 감사합니다.

여기서 질문 요점은,
frament 에 view 를 어떻게 넘겨주는지 입니다. ^^;
fragment로 json string을 넘겨주고, 나머지 작업은 fragment에서 하면 되는거 아닌가요?
public Loader<String> onCreateLoader(int arg0, Bundle arg1)
여기에서 JSON 값을 받았습니다.

이 때, public void onLoadFinished(Loader<String> arg0, String arg1)
가 호출되겠지요?

여기서 fragment 에 layout 을 생성 & 데이터 삽입해줘야한다고 생각하는데요...
loaderCallback 을 쓰기 전에는 onCreateView 안에서 리턴값으로 view 를 해주면 되는데,
onLoadFinished 여기서는 view 를 생성하고, layout 작업을 해도
리턴값이 View 가 아니라서 어떻게 반영하는지를 모르겠습니다. ^^;;

setContentView 처럼 View 를 반영해주는 부분을 어디서 해야하나요...?
fragment 를 생성하는 건 아실테고, 생성할 때 set argument 로 json string을 넘겨주고, fragment 안에서 json string을 가지고 나머지 뷰를 생성하면 된다고 생각하는데, 지금 안되고 있는게 어떤 부분인지 감이 안 와요.

fragment를 만들어서 보여주는 방법, 어떤 값을 넘겨주는 방법을 따로 구별해서 예제를 만들어보세요
네, 답변 감사합니다 ~
...