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

json 파싱해서 로그에 출력하고 싶은데 소스를 봐도 잘 모르겠습니다 ㅠ

0 추천


 public class JsonP extends MainActivity {
  
  String json;
  StringBuilder sBuilder; 
  
  
  List<String> data;
  ListView list;
  ArrayAdapter<String> adapter;
 }
 protected void onCreate1(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  ListView list = (ListView) findViewById(R.id.list);
  ArrayList<String> data = new ArrayList<String>();
  
  data.add("zz");
  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1,data);

  list.setAdapter(adapter);
  list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
  list.setDivider(new ColorDrawable(Color.BLUE));
  list.setDividerHeight(3);
 }
 public void mOnClick(View v) {
  
  this.setProgressBarIndeterminateVisibility(true);
  
  ThreadEx th = new ThreadEx();
  th.start();
 }
 Handler handler = new Handler() {
  public void handleMessage(Message msg) {
   (MainActivity.this).setProgressBarIndeterminateVisibility(false);
   
   BaseAdapter adapter = null;
   adapter.notifyDataSetChanged();
  }
 };
 class ThreadEx extends Thread {
  public void run() {
   StringBuilder sBuilder = new StringBuilder();
   
   String json = null;
   try {
    String urlAddr = "http://www.ecloud.kr/cpa/jsontest/json_test7.asp";
    URL url = new URL(urlAddr);
    HttpURLConnection conn = (HttpURLConnection) url
      .openConnection();
   
    if (conn != null) {
   
     conn.setConnectTimeout(20000);
     conn.setUseCaches(false);
     if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
    
      InputStreamReader reader = new InputStreamReader(
        conn.getInputStream());
      BufferedReader br = new BufferedReader(reader);
      while (true) {
       String line = br.readLine();

       if (line == null)
        break;
       sBuilder.append(line);
      }
      br.close();
      conn.disconnect();
     }
    }
    json = sBuilder.toString();

   } catch (Exception e) {
   }
   try {
    
    JSONObject obj = new JSONObject(json);
    JSONObject channel = obj.getJSONObject("");
    JSONArray items = channel.getJSONArray("");

    for (int i = 0; i < items.length(); i++) {
     JSONObject imsi = items.getJSONObject(i);
     List<ApplicationInfo> data;
//     data.add(imsi.getString("keyno"));
//     data.add(imsi.getString("keyvalue"));
    }
    
    handler.sendEmptyMessage(0);

   } catch (Exception e) {
   }

  }

 }

marimari (520 포인트) 님이 2015년 7월 24일 질문
그냥 로그에 띄우고 싶으신거면

맨아래쪽 for문안에

//     data.add(imsi.getString("keyno")); 요놈대신

String str = (String)imsi.get("keyno");
Log.i("TAG" , str ); 요렇게 해보세여

1개의 답변

0 추천
VO하나 만들어서 파싱하세요

그게 관리하기도 편할거에요
하늘아륑 (16,800 포인트) 님이 2015년 7월 24일 답변
...