그냥 개발자 블로그

안드로이드스튜디오 웹뷰 적용하기 본문

프로그래밍팁/android

안드로이드스튜디오 웹뷰 적용하기

마음이파파 2015. 12. 7. 08:26

안드로이드 스튜디오에서 웹뷰 적용하기 입니다.

아래 사항들이 적용된 예 입니다.


1. 앱에서 인터넷 사용가능하게

2. 웹뷰에 원하는 페이지가 로딩 되게

3. 자바스크립트 사용가능하게





/app/src/main/AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.playground.myapplication">


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


    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:supportsRtl="true"

        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>


</manifest>


하얀색으로 처리된 부분을 추가 해주어 앱이 인터넷을 사용할수 있게 해줍니다.







/app/src/main/res/layout/activity_main.xml


<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:padding="0dp"

    tools:context="com.playground.myapplication.MainActivity"

    >


    <WebView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/webView" />

</RelativeLayout>


메인 액티비티에서 웹뷰를 찾아올수 있도록 id를 추가 해주었습니다.







/app/src/main/java/com/playground/myapplication/MainActivity.java


package com.playground.myapplication;


import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.Window;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;


public class MainActivity extends AppCompatActivity {




    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        String url = "http://naver.com";


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

        webView.setWebViewClient(new WebViewClient()); //새창열기 없이 웹뷰내에서 다시 열기


        WebSettings webSettings = webView.getSettings();

        webSettings.setJavaScriptEnabled(true); //자바스크립트 허용


        webView.loadUrl(url);

    }

}


웹뷰 아이디를 불러와 원하는 주소로 로딩 시키도록 합니다. 이때 setWevViewClient 를 이용하여 새창열기 없이 동작하도록 하며 setJavaScriptEnabled 를 true로 하여 자바스크립트가 동작 하도록 합니다. 최종적으로 loadUrl 을 통해 웹뷰가 동작됩니다.