안드로이드 스튜디오 웹뷰( WebView)설정하기

 계발에서 개발까지 

 

웹뷰 자세히 알아보기

 

WebView에서 웹 앱 빌드  |  Android 개발자  |  Android Developers

웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경우 WebView를 사용하면 됩니다. WebView 클래스는 Android의 View 클래스의 확장으로, 웹페이지를 활동 레이아웃의 일부로 표시할 수 있게 해 줍니다. 탐색 컨트롤이나 주소 표시줄 등 완전히 개발된 웹브라우저의 기능은 전혀 포함되어 있지 않습니다. WebView의 모든 작업은 기본적으로 웹페이지를 표시하는 것입니다. 일반적으로 WebView를 사용하는 것이 도움이

developer.android.com

 

Android Studio WebView

 

웹뷰란?

웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경우 WebView를 사용하면 됩니다. WebView 클래스는 Android의 View 클래스의 확장으로, 웹페이지를 활동 레이아웃의 일부로 표시할 수 있게 해 줍니다. 탐색 컨트롤이나 주소 표시줄 등 완전히 개발된 웹브라우저의 기능은 전혀 포함되어 있지 않습니다. WebView의 모든 작업은 기본적으로 웹페이지를 표시하는 것입니다. 애플리케이션 내에서 웹을 보여줘야 하는 용도로 많이 사용합니다. 

 

 

AndroidManifest.xml

 

매니패스트 설정하기

 

이 작업을 수행하려면 앱이 인터넷에 액세스 할 수 있어야 합니다. 인터넷 액세스 권한을 받으려면 manifest 파일에서 INTERNET 권한을 요청합니다.

<uses-permission android:name="android.permission.INTERNET" />

 

activity_main.xml

 

activity_main 설정하기

저는 버튼을 활용하여 버튼 클릭 시 웹뷰가 나타나도록 구현해보겠습니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <Button
        android:id="@+id/WebView_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#2196F3"
        android:text="웹뷰띄우기"
        android:textSize="18dp"
        android:textStyle="bold"
        android:textColor="#fff" />



</LinearLayout>

 간단하게 버튼 하나를 만들어 둡니다. 이제 버튼을 클릭하면 넘어갈 레이아웃과 웹뷰를 설정해줍니다.

 

activity_webview.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">



            <WebView
                android:id="@+id/webView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
              />
</LinearLayout>

 

MainActivity.java

 

메인 액티비티 설정

 

이제 버튼을 클릭하면 웹뷰 페이지로 넘어가도록 설정해줍니다.

자주 사용하는 버튼 이벤트와 인텐트를 활용해서 넘깁니다.

public class MainActivity extends AppCompatActivity {
    private Button webview_btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        webview_btn = findViewById(R.id.WebView_btn);
        webview_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(),WebViewActivity.class);
                startActivity(intent);
            }
        });


    }

}

 

WebViewActivity.java

 

웹뷰 액티비티 설정

 

WebViewActivity.java에서는 이제 웹뷰가 띄어지도록 설정해줍니다.

loadUrl에 원하시는 사이트 주소를 넣으시면 됩니다.

 

public class WebViewActivity extends AppCompatActivity {
    private WebView mWebView; // 웹뷰 선언
    private WebSettings mWebSettings; //웹뷰세팅


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);


        mWebView = (WebView) findViewById(R.id.webView);


        mWebView.setWebViewClient(new WebViewClient()); 
        mWebSettings = mWebView.getSettings(); 
        mWebSettings.setJavaScriptEnabled(true);
        mWebSettings.setLoadWithOverviewMode(true); 
        mWebSettings.setUseWideViewPort(true); 
        mWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); 
        mWebSettings.setDomStorageEnabled(true); 
        mWebView.loadUrl("http://deumdroid.tistory.com/"); 



    }
}

 

수고하셨습니다 ★

더 많은 정보

 https://deumdroid.tistory.com/ 

 

댓글

Designed by JB FACTORY