IT 관련,,/안드로이드(java, kotlin등등) 관련 내용

[android/개발자]webview이용해서 사이트 연동하기~

IT깡패's 2019. 8. 23. 16:01
728x90
반응형
SMALL

안녕하세요~ㅎㅎ 반갑습니다~

IT's 깡패인데요~ ㅇㅅㅇ;;

오늘의 주제는 안드로이드스튜디오를 사용하여 하이브리드앱으로 사용할 수 있게끔 웹뷰를 띄워서

기본적인 사이트를 연동해보도록 하겠습니다~!!!

 

웹뷰는 안드로이드로 설치되어 있는 기본적인 함수인 intent를 사용해서 사이트를 연동하거나 시킬 수 있습니다.

브라우저는 자유롭게(크롬, 인터넷익스, 엣지) 등등 다양하게 가능합니다~

 

일단 소스들을 파악해보시죠~ㅎㅎ;;

 

- AndroidManifest.xml

//intent를 사용해보자!!
<uses-permission android:name="android.permission.INTERNET" />

 

- activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
    tools:context=".MainActivity">

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

</android.support.constraint.ConstraintLayout>

 

- MainActivity.java

package kr.android.webview;

import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

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

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

        // 웹뷰 시작
        mWebView = (WebView) findViewById(R.id.webView);

        mWebView.setWebViewClient(new WebViewClient()); // 클릭시 새창 안뜨게
        mWebSettings = mWebView.getSettings(); //세부 세팅 등록
        mWebSettings.setJavaScriptEnabled(true); // 웹페이지 자바스클비트 허용 여부
        mWebSettings.setSupportMultipleWindows(false); // 새창 띄우기 허용 여부
        mWebSettings.setJavaScriptCanOpenWindowsAutomatically(false); // 자바스크립트 새창 띄우기(멀티뷰) 허용 여부
        mWebSettings.setLoadWithOverviewMode(true); // 메타태그 허용 여부
        mWebSettings.setUseWideViewPort(true); // 화면 사이즈 맞추기 허용 여부
        mWebSettings.setSupportZoom(false); // 화면 줌 허용 여부
        mWebSettings.setBuiltInZoomControls(false); // 화면 확대 축소 허용 여부
        mWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); // 컨텐츠 사이즈 맞추기
        mWebSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 브라우저 캐시 허용 여부
        mWebSettings.setDomStorageEnabled(true); // 로컬저장소 허용 여부

        mWebView.loadUrl("http://sky17777.tistory.com"); // 웹뷰에 표시할 웹사이트 주소, 웹뷰 시작
    }
}

 

참 쉽죠잉~

몇줄만으로 사이트를 연결하는데 성공하실 수 있습니다~

01

 

이정도로 하면 웹뷰가 기본적으로 세팅이 되고요~ㅎㅎㅎ

mWebView로 되있는 객체에 포함되어 있는 옵션들이 웹뷰로 사이트가 연동되도록

도와주고 있는 식으로 이해하면 되겠습니다.

다른 하이브리드앱 연동하는 방법도 있는데요~ 그것은 코르도바와 폰갭을 이용하는 방법인데요~

이 부분은 예전에 많이 쓰던 방법이구요~

대부분 요새는 cmd쪽이나 리눅스를 쓰지않고 어렵지 않은 방법으로 웹을 연동하기 위해서 웹뷰를 많이 사용하고

있다네요~

 

- 참고링크

웹뷰(webview)를 만들어보시죠! - https://brunch.co.kr/@cwhboy/5

728x90
반응형
LIST