2012-07-02 2 views
1

내 앱에서 웹 페이지를 볼 수있는 Android 앱을 만들어야했습니다. 브라우저에는 없지만 앱에는 있어야합니다. 페이지가로드 될 때 대답과 몇 가지 옵션이 있습니다. 물론 테스트를 거친 후에 여기에서 찾은 정보를 공유하려고 노력했습니다 .....앱에서 웹 페이지를 보려면?

답변

6

먼저 매니페스트에 인터넷 사용 권한을 추가해야합니다.

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

그런 다음 WebView 클래스를 사용하여 웹 페이지를 표시하십시오. 당신의 활동에

<?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/myWebView" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 
</LinearLayout> 

, (아마도에서 onCreate)가 만든 레이아웃을 사용하여 웹보기 개체를 초기화 : 첫째, 웹보기가 포함 된 레이아웃을 만들 수 있습니다. 다음은 그 예입니다. 비공개 WebView webview;

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.somelayout); 

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

    webview = (WebView) findViewById(R.id.myWebView); 
    //next line explained below 
    webview.setWebViewClient(new MyWebViewClient(this)); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.loadUrl(url); 
} 

로드하는 페이지를 잡는 등의 특정 옵션을 원한다면 내부 WebViewClient 클래스가 필요합니다. 예를 들어 웹 페이지에 새로운 페이지가로드 될 때마다 onPageStarted (...) 메소드를 사용하여 무언가를 할 수 있습니다.

public class MyWebViewClient extends WebViewClient { 

    public MyWebViewClient() { 
    super(); 
    //start anything you need to 
    } 

    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
    //Do something to the urls, views, etc. 
    } 
} 
관련 문제