일단 메시지를 출력할 레이아웃하나 대강 만들고...
[web_check.xml]
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView01" /> <TextView android:id="@+id/textView02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView02" /> </LinearLayout>
저기다 파일을 체크한 결과를 디스플레이 한다.
"WebCheck.java" 를 시작 클래스로 지정해 놓았으니, 앱을 시작하자 마자 결과값이 나올거다.
[WebCheck.java]
package kr.blogspot.son10001;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.widget.TextView;
public class WebCheck extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_check);
TextView textview01 = (TextView)findViewById(R.id.textView01);
TextView textview02 = (TextView)findViewById(R.id.textView02);
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitNetwork().build());
try {
URL url = new URL("http://192.168.0.181:915/gcmtest.aspx");
URLConnection con = url.openConnection();
HttpURLConnection exitCode = (HttpURLConnection)con;
if(exitCode.getResponseCode() == 200){
textview01.setText("URL01 : 파일이 있습니다!!!");
} else {
textview01.setText("URL01 : 파일이 없습니다.");
}
} catch (Exception e) {
textview01.setText("URL01 : 오류 발생 !!!");
}
try {
URL url = new URL("http://192.168.0.181:915/notest.aspx");
URLConnection con = url.openConnection();
HttpURLConnection exitCode = (HttpURLConnection)con;
if(exitCode.getResponseCode() == 200){
textview02.setText("URL02 : 파일이 있습니다!!!");
} else {
textview02.setText("URL02 : 파일이 없습니다.");
}
} catch (Exception e) {
textview02.setText("URL02 : 오류 발생 !!!");
}
}
}
저기 있는 2개의 URL 을 체크하는데, 하나는 존재하는 파일이고, 하나는 없는 파일이다.
참고로 "StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitNetwork().build());" 는 원래 메인 쓰레드에서 네크워크 처리를 하면 오류를 발생시키는데, 이걸 막기위한 코드다.
하지만, 이건 정상적인 처리방법이 아니므로 원래는 별도의 쓰레드를 사용해 처리해야 정상이다.
암튼 이렇게 하고 실행해 보면...
이렇게 결과 값이 나온다.


