이준빈은 호박머리

IT 프로그래밍 개발 정보 블로그, 이준빈은 호박머리 입니다.

Language/Android

안드로이드 웹뷰(Android WebView) 예제

준콩이 2013. 2. 6. 09:10
반응형

안드로이드 개발 시 많이 사용하는 웹뷰(WebView)예제 소스입니다.

어플에서 고정된 프레임 안에 웹페이지를 띄우는 기능입니다.


MainActivity

package com.example.h5bak_webview;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
 
public class MainActivity extends Activity {
    WebView webview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        webview = (WebView)findViewById(R.id.webview);
        webview.setWebViewClient(new WebClient()); // 응룡프로그램에서 직접 url 처리
        WebSettings set = webview.getSettings();
        set.setJavaScriptEnabled(true);
        set.setBuiltInZoomControls(true);
        webview.loadUrl("http://www.google.com");
         
        findViewById(R.id.btnStart).setOnClickListener(onclick);
    }
     
    OnClickListener onclick =new OnClickListener() {
         
        @Override
        public void onClick(View v) {
            System.out.println("클릭");
            String url= null;
            EditText add = (EditText)findViewById(R.id.add);
            url = add.getText().toString();
            webview.loadUrl(url);           
        }
    };
     
    class WebClient extends WebViewClient {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
}


activity_main.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
 
    <EditText android:id="@+id/add" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="http://www.google.com">
 
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
 
        <Button android:id="@+id/btnStart" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="이동">
    
 
    <WebView android:id="@+id/WebView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:focusable="true" android:focusableintouchmode="true">

</WebView></Button></LinearLayout></EditText></LinearLayout>


AndroidManifest.xml




실행결과

반응형