ȸ¿ø·Î±×ÀÎ
8³â Àü
1. ¿ì¼± Manifest¿¡ uses-permissionÀ» Ãß°¡ÇÑ´Ù.
<manifest xmlns:android¡¦
¡¦
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
2. ¸ÞÀÎȸéÀÎ layout/main.xml¿¡ WebView ÀüüȸéÀ¸·Î ±¸¼º
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:id="@+id/wv"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
3. Main.java ¸ÞÀÎ
public class Main extends Activity {
WebView wv = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ÀÎÅÍ³Ý »ç¿ëȯ°æ °Ë»ç 3G,WiFi
CheckWiFiMobile cwm = new CheckWiFiMobile(this);
cwm.test();
loadWeb("http://hotlist.kr/"); // ¸ð¹ÙÀÏ À¥ ÆäÀÌÁö URL ÁöÁ¤
}
// °¡·Î,¼¼·Î º¸±â Àüȯ½Ã reload()¹æÁö
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
/* À¥ºä ·Îµå */
private void loadWeb(String url){
final Context myApp = this;
wv = (WebView)findViewById(R.id.wv);
wv.clearCache(true); // ij½¬Á¦°Å
wv.getSettings().setJavaScriptEnabled(true); // ÀÚ¹Ù½ºÅ©¸³Æ® ½ÇÇà°¡´É
wv.setWebChromeClient(new WebChromeClient() { // ÀÚ¹Ù½ºÅ©¸³Æ® °æ°íâ »ç¿ë
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
new AlertDialog.Builder(myApp)
.setIcon(R.drawable.icon)
.setTitle("¾Ë¸²!") // AlertDialog
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
result.confirm();
}
})
.setCancelable(false)
.create()
.show();
return true;
};
});
wv.loadUrl(url); // À¥ÆäÀÌÁö ·Îµå
wv.setWebViewClient(new HelloWebViewClient()); // WebViewClient ÁöÁ¤
wv.setHorizontalScrollBarEnabled(false); // ¼¼·Î ½ºÅ©·Ñ Á¦°Å
wv.setVerticalScrollBarEnabled(false); // °¡·Î ½ºÅ©·Ñ Á¦°Å
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()){
wv.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class HelloWebViewClient extends WebViewClient{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
}
}
4. CheckWiFiMobile.java ÀÎÅÍ³Ý Á¢¼ÓÀÌ µÇ¾ú´ÂÁö È®ÀÎÇϴ Ŭ·¡½º
public class CheckWiFiMobile
{
Context context = null;
public CheckWiFiMobile(Context context){
this.context = context;
}
public boolean test(){
// ³×Æ®¿öÅ© ¿¬°á °ü¸®ÀÚÀÇ ÇÚµéÀ» ¾ò½À´Ï´Ù.
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
// ±âº» ¸ð¹ÙÀÏ ³×Æ®¿öÅ© ¿¬°áÀÚ(3G)°ü·Ã Á¤º¸ ¾ò½À´Ï´Ù.
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = ni.isConnected();
// WiFi °ü·Ã Á¤º¸¸¦ ¾ò½À´Ï´Ù.
ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = ni.isConnected();
System.out.println("isWifiConn:"+isWifiConn);
System.out.println("isMobileConn:"+isMobileConn);
if( isWifiConn || isMobileConn ){
// ÀÎÅÍ³Ý ¿¬°áÇÒ ¼ö ÀÖÀ½
return true;
}else{
// ÀÎÅÍ³Ý ¿¬°áÇÒ ¼ö ¾øÀ½ (°æ°íâ Ç¥½Ã)
Builder alert = new AlertDialog.Builder(context);
alert.setIcon(R.drawable.icon);
alert.setTitle("ÀÎÅÍ³Ý Á¢¼Ó ½ÇÆÐ");
alert.setMessage("ÀÎÅͳݿ¡ Á¢¼ÓÇÒ ¼ö ¾ø½À´Ï´Ù!\nÇÐÀÎ ÈÄ ´Ù½Ã ½ÇÇàÇØ ÁֽʽÿÀ.");
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alert.show();
return false;
}
}
}
̵̧ : 328
̵̧
¸ñ·Ï