본문 바로가기
→ 프로그래밍.데이터베이스/JAVA,JSP,JS

[Android] WebView를 이용하여 안드로이드에서 웹페이지 열어보자.

by jjo_Mean 2016. 10. 15.


제가 예전에 만든 웹 페이지를 안드로이드 어플 에서도 볼 수 있도록 서비스를 제공하기위해 간단히 학습한 결과에요~ㅋㅋ

WebView어플안에서 웹 페이지를 여는 방법을 포스팅해드리겠습니다ㅋㅋ 



1. [Layout .xml]

⦁ WebView를 이용해 웹 페이지가 뜨는 영역을 설정해 준다.



<?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" >


    <TextView

        android:id="@+id/textView1"

        android:layout_width="204dp"

        android:layout_height="wrap_content"

        android:text="민지_웹페이지 열기"

        android:textSize="20dp" />


    <WebView

        android:id="@+id/webview"

        android:layout_width="320dp"

        android:layout_height="match_parent" />


</LinearLayout>




2. [ ' res-> values -> strings.xml ' 파일을 열어 title이 있는 곳을 편집해 준다.  부분이 어플설치시 표기될 어플명과 웹뷰내에서 상단에 표기될 타이틀 명이다.]


<resources>

    <string name="app_name">Webpractice</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">민지_웹페이지 테스트</string>

</resources>




3. [AndroidManifest.xml 파일을 열어 위 한 줄 소스를 넣어 준다. 인터넷 사용 권한에 대한 내용 이다.]

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.webpractice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.INTERNET" />
    
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />




4. [ Java 코딩 ]


public class MainActivity extends Activity {

WebView mWebView; // WebView 선언
    @SuppressLint("SetJavaScriptEnabled") @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mWebView=(WebView)findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        //mWebView.loadUrl("http://192.168.34.71/WebSite/SUTS/");
        mWebView.loadUrl("http://cafe.daum.net/smbitpro"); //연결할 웹 페이지 지정   
        mWebView.setWebViewClient(new BlogWebViewClient()); //WebViewClient 지정
        
    }


// 기기 Back 버튼 인식 - 키 이벤트
public boolean onKeyDown(int keyCode, KeyEvent event)
    {
     if((keyCode==KeyEvent.KEYCODE_BACK)&&mWebView.canGoBack())
     {
     mWebView.goBack();
     return true;
     }
     return super.onKeyDown(keyCode, event);
    }
    


   // 웹 뷰 내부에서 URL 인식
    private class BlogWebViewClient extends WebViewClient
    {
     public boolean shouldOverrideUrlLoading(WebView view, String url)
     {
     view.loadUrl(url);
     return true;
     }
    }



[ 실행 결과 ]