<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/input01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Enter URL String ..."
android:textSize="14dip"
></EditText>
<Button
android:id="@+id/requestBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Request"
android:textSize="14dip"
android:textStyle="bold"
></Button>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/txtMsg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff99ccee"
android:textColor="#ff0000ff"
android:textSize="12dip"
></TextView>
</ScrollView>
</LinearLayout>
==================================================================================================================================
package com.enisystem.SampleHTTP;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class SampleHTTPActivity extends Activity {
/** Called when the activity is first created. */
public static String defaultUrl = "http://m.naver.com";
@Override
public void onCreate(Bundle savedInstanceState) {
StrictMode.enableDefaults();
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button requestBtn = (Button) findViewById(R.id.requestBtn);
requestBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// HttpThread 생성 및호출
HttpThread thread = new HttpThread();
//thread.setDaemon(true);
thread.start();
}
});
}
private String request (String urlStr){
StringBuilder output = new StringBuilder();
try{
URL url = new URL(urlStr); // URL 객체생성
Toast.makeText(this,urlStr, Toast.LENGTH_SHORT).show();
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
if(conn != null){
conn.setConnectTimeout(10000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
int resCode = conn.getResponseCode(); // 서버에 접속하여 요청
if(resCode == HttpURLConnection.HTTP_OK){
BufferedReader reader = new BufferedReader( // 응답 결과를 읽기위한 스트림 객체 생성
new InputStreamReader(conn.getInputStream()));
String line = null;
while(true){
line = reader.readLine(); // 반복문 안에서 한 주씩 읽어 결과 문자열에 추가
if( line == null){
break;
}
output.append(line + "\n");
}
reader.close();
conn.disconnect();
}
}
} catch(Exception ex){
Toast.makeText(this,"Exception in processing response.", Toast.LENGTH_SHORT).show();
Log.e("SampleHTTP" , "Exception in processing response.", ex);
}
return output.toString();
}
public class HttpThread extends Thread {
public void run(){
// 핸들러 호출
mHandler.sendEmptyMessage(0);
}
}
Handler mHandler = new Handler()
{
// 핸들러가 호출되면 이쪽 함수가 실행됩니다.
public void handleMessage(Message msg)
{
if(msg.what == 0)
{
// 여기다가 코딩
final EditText input01 = (EditText) findViewById(R.id.input01);
input01.setText(defaultUrl);
final TextView txtMsg = (TextView) findViewById(R.id.txtMsg);
String urlStr = input01.getText().toString(); // URL 문자열 참조
String output = request(urlStr); // request()메소드 호출
txtMsg.setText(output); // 결과물 표시
}
}
};
}
'안드로이드 개발 > 허니콤(3.0)' 카테고리의 다른 글
허니콤(3.x) 이상에서 프로그램 종료하기 (0) | 2012.04.04 |
---|---|
안드로이드 타이틀바 제거 3.x 이상에서 테스트 (0) | 2012.04.03 |
허니콤(3.x) 이상 버젼에서 StrictMode$AndroidBlockGuardPolicy.onNetwork... 에러가 발생할때 (5) | 2012.04.02 |
webview에서 input type="file" 파일 업로드 처리이슈 해결 팁 (1) | 2012.03.30 |