레이블이 webview인 게시물을 표시합니다. 모든 게시물 표시
레이블이 webview인 게시물을 표시합니다. 모든 게시물 표시

2015년 4월 5일 일요일

android webview를 이용해서 html 내용 나타내기

안드로이드에서 WebView 를 이용해서 로컬에 가지고 있는 html string을 view 화면에 나타내어 보도록 합니다.

webview이 xml에 먼저 필요합니다.
detail.xml 파일로 만듭니다.


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

    <WebView 
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    />

</LinearLayout>

그리고 코드는 아래와 같은 형태로 작성합니다.
Hello world 쪽에 원하는 html 코그가 들어가도록 제작합니다.


 WebView mWebView;
 Context mContext;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.detail);
  
        String content = 
                "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"+
                "<html><head>"+
                "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />"+
                "<head><body>";
       
  content += "<H1>Hello world</H1>" + "</body></html>";
  
        mWebView = (WebView) findViewById(R.id.webview); 
        mWebView.loadData(content, "text/html; charset=utf-8", "UTF-8");
        mWebView.setWebViewClient(new HelloWebViewClient());
  
 ....
 
    private class HelloWebViewClient extends WebViewClient { 
        @Override 
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl(url); 
            return true; 
        } 
    }