티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How to load external webpage in WebView

WebView에서 외부 웹 페이지를 로드하는 방법

 문제 내용 

My problem is that the webpage is not loaded inside the WebView.

문제는 웹 페이지가 웹뷰 내에 로드되지 않는다는 것입니다.

 

mWebview.loadUrl("http://www.google.com"); launches the web browser...

mWebview.loadUrl("http://www.google.com"); 코드는 웹 브라우저를 시작합니다...

 

This is the code of my activity:

제 액티비티 코드는 다음과 같습니다.
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Main extends Activity {
    
    private WebView mWebview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        mWebview = new WebView(this);
        mWebview.loadUrl("http://www.google.com");
        setContentView(mWebview);
    }   
}

 

I added the required permission in the Manifest:

매니페스트에 필요한 권한을 추가했습니다.
<uses-permission android:name="android.permission.INTERNET" />

 

 

 높은 점수를 받은 Solution 

Thanks to this post, I finally found the solution. Here is the code:

이 게시물 덕분에 저는 마침내 해결책을 찾았습니다. 코드는 다음과 같습니다.
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.annotation.TargetApi;

public class Main extends Activity {

    private WebView mWebview ;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        mWebview  = new WebView(this);

        mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript

        final Activity activity = this;

        mWebview.setWebViewClient(new WebViewClient() {
            @SuppressWarnings("deprecation")
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
            }
            @TargetApi(android.os.Build.VERSION_CODES.M)
            @Override
            public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
                // Redirect to deprecated method, so you can use it in all SDK versions
                onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
            }
        });

        mWebview .loadUrl("http://www.google.com");
        setContentView(mWebview );

    }

}

 

 

 가장 최근 달린 Solution 

just go into XML file and give id to your webView then in java paste these line:

XML 파일로 이동하여 webView에 ID를 주고, 자바 코드에 다음 줄을 붙여넣습니다.

 

   public class Main extends Activity {

private WebView mWebview;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.Your_layout_file_name);

    mWebview = (WebView)findViewById(R.id.id_you_gave _to_your_wenview_in_xml);
    mWebview.loadUrl("http://www.google.com");
    }   
}

 

 

출처 : https://stackoverflow.com/questions/7305089/how-to-load-external-webpage-in-webview

반응형
댓글
공지사항
최근에 올라온 글