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

post방식으로 json 파싱하여 불러오는 작업중입니다.

0 추천
package com.example.httppostex;
 
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
 
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
 
public class MainActivity extends Activity 
{
TextView textView;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        textView = (TextView) findViewById(R.id.text_view);
        new JsonLoadingTask().execute();
 
    }
 
public String JsonTest()
{
try
{
HttpClient client = new DefaultHttpClient();  
String postURL = "http://";
HttpPost post = new HttpPost(postURL); 
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("HP", "010"));
params.add(new BasicNameValuePair("CC", "KR"));
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePOST = client.execute(post);  
HttpEntity resEntity = responsePOST.getEntity();
 
if (resEntity != null)
{    
Log.i("RESPONSE", EntityUtils.toString(resEntity));
}
}
catch (Exception e)
{
e.printStackTrace();
}
return toString();
}
 
private class JsonLoadingTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strs) {
return JsonTest();
} // doInBackground : 백그라운드 작업을 진행한다.
@Override
protected void onPostExecute(String result) {
textView.setText(result);
} // onPostExecute : 백그라운드 작업이 끝난 후 UI 작업을 진행한다.
} // JsonLoadingTask
 
}
 
이후 출력시 원하는 데이터값이 출력이 안되고 팩키지 이름과 이상한 값이 출력이 됩니다.
출력부분을 잘못 작성한건지 궁금해서 질문 드립니다.
lolaen (150 포인트) 님이 2013년 5월 29일 질문

3개의 답변

0 추천
 
채택된 답변
json 형식은 키 : 값으로 되는데 현재 코드상에 로그엔 엔티티만 나오게 하네요?

object의 값을 출력할 코드가 없습니다.

JSONArray 혹은 JSONObject를 검색해 보세요

아마 해결될 겁니다
적유 (1,760 포인트) 님이 2013년 5월 29일 답변
lolaen님이 2013년 5월 30일 채택됨
아 넵 감사합니다 ㅋㅋㅋ
0 추천
code 상으로는 문제는 없어 보입니다.
aucd29 (218,390 포인트) 님이 2013년 5월 29일 답변
0 추천

return toString();   <- 요부분에서 문제가 생긴거 같은데요 ?

 

return EntityUtils.toString(resEntity); <- 이렇게 하고싶었던거 아니에요 ?

블랙넥원 (9,600 포인트) 님이 2013년 5월 29일 답변
한번 해봐야겠습니다ㅋ 감사합니다
...