나는 안드로이드에 익숙하지 않으며 http 게시 요청을하려고하는데 다음과 같은 오류가 발생합니다. 내 코드와 LogCat 일부 줄을 게시했습니다. 다른 클래스에서이 작업을 수행해야합니까, 그렇다면 어떻게해야할까요, 아니면 현재 코드에서 수정해야하는 작업 일 수 있습니다.Http Post 다른 스레드에서 안드로이드를 요청합니다.
public class PasteCode extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.pastecode);
final EditText codeinput = (EditText) findViewById(R.id.editText1);
Button send_btn = (Button) findViewById(R.id.button1);
send_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String code = codeinput.getText().toString();
new Thread(new Runnable() {
@Override
public void run() {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("accounts.google.com");
ArrayList<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(5);
nameValuePair.add(new BasicNameValuePair("code", code));
nameValuePair.add(new BasicNameValuePair("client_id", "----------------------"));
nameValuePair.add(new BasicNameValuePair("client_secret", "-----------------"));
nameValuePair.add(new BasicNameValuePair("redirect_uri", "urn:ietf:wg:oauth:2.0:oob"));
nameValuePair.add(new BasicNameValuePair("grant_type", "authorization_code"));
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
} catch (UnsupportedEncodingException e) {
// writing error to Log
e.printStackTrace();
}
// Making HTTP Request
try {
HttpResponse response = httpClient.execute(httpPost);
// writing response to log
Log.d("Http Response:", response.toString());
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
}
}
}).start();
}
});
}
}
LogView의
02-18 10 : 03 : 20.477 : W/dalvikvm (3759)는 : threadid = 15 : 스레드 캐치되지 않는 예외 (그룹 = 0x4001d760)
02-18으로 출사 10 : 03 : 20.487 : 치명적인 예외 : 스레드 (31)
10월 2일부터 18일까지 : 03 : 20.487 : (3759) E는/AndroidRuntime E는/AndroidRuntime (3759) : java.lang.IllegalStateException는 : 호스트 대상이되지해야합니다 null 또는 매개 변수로 설정하십시오. 방식 = NULL 호스트 = NULL, 경로 = accounts.google.com
10월 2일부터 18일까지 : 03 : 20.487 : E/AndroidRuntime (3759) java.lang.Thread.run (Thread.java에서 : 1020)
!!!! – Merlevede
"http : //"를 경로 이름에 추가하여이 오류를 해결했지만 이제는 내가 얻은 응답을 읽으려고 애 쓰고 있습니다. – user3271572
기다리고있는 응답은 무엇입니까 ??? 좀 더 구체적으로 좀 주시겠습니까 ?? – geekCode