2011-12-23 23 views
10

Xin chào, tôi đang phát triển ứng dụng Android bằng cách sử dụng triển khai WebView.Ai đó có thể đưa ra một ví dụ chính xác về triển khai chế độ xem web trong android

Tôi đã theo dõi official android tutorial.

tôi không nhận lỗi khi xây dựng dự án của tôi trong nhật thực, nhưng khi chạy ứng dụng:

ứng dụng đã ngừng làm việc bất ngờ

+0

plz thêm lỗi logcat của bạn .... –

Trả lời

12

tập tin Java của bạn nên được như thế này:

public class WebViewSampleActivity extends Activity { 
    WebView wb; 
    private class HelloWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 
    } 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main);  
     wb=(WebView)findViewById(R.id.webView1);   
     wb.getSettings().setJavaScriptEnabled(true); 
     wb.getSettings().setLoadWithOverviewMode(true); 
     wb.getSettings().setUseWideViewPort(true); 
     wb.getSettings().setBuiltInZoomControls(true); 
     wb.getSettings().setPluginState(WebSettings.PluginState.ON); 
     wb.getSettings().setPluginsEnabled(true);   
     wb.setWebViewClient(new HelloWebViewClient()); 
     wb.loadUrl("http://www.examplefoo.com");   
    } 
} 

file xml của bạn nên được như thế này:

<?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" 
    android:layout_gravity="center"> 

    <WebView 
     android:id="@+id/webView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" /> 

</LinearLayout> 

Sử dụng sau trong của bạn biểu hiện sau <uses-sdk><uses-sdk/>:

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

Hi tôi đã làm nêu trên điều bây giờ im nhận được một lỗi "chuyển đổi sang phiên bản Dalvik thất bại" –

+0

Có thể có một số vấn đề với giả lập của bạn sau đó. Hãy thử chạy nó trên AVD khác. Nếu nó vẫn không hoạt động, vui lòng đăng Logcat của bạn. – Ghost

+0

Hi tôi đã thử với 2 AVD của một là android 2.2 và một là 3.2 bt vẫn im nhận được error.Attaching là con mèo đăng nhập xin vui lòng giúp tôi ... –

0

Ở đây bạn đi:

LinearLayout root = new LinearLayout(this); 
root.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 

WebView wv = new WebView(this); 
wv.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
wv.getSettings().setJavaScriptEnabled(true); 

wv.loadUrl("http://www.google.com"); 
root.addView(wv); 

setContentView(root); 

Đặt mã này vào phương thức onCreate-Method của bạn. Và đừng quên đặt Internet cho phép trong Tệp kê khai Android.

2

WebView là chế độ xem hiển thị các trang web bên trong ứng dụng của bạn. Bạn cũng có thể chỉ định chuỗi HTML và có thể hiển thị nó bên trong ứng dụng của bạn bằng cách sử dụng WebView.

Tutorial với Ví dụ: http://www.viralandroid.com/2015/09/android-webview-tutorial-with-examples.html

tập tin activity_main.xml

<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/webView1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 

MainActivity.java file

webView = (WebView) findViewById(R.id.webView1); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.loadUrl("http://www.viralandroid.com"); 
0
class WebViewClass extends WebViewClient { 
     final ProgressBar loadProgress; 
     final WebView wv; 

     WebViewClass(WebView webView, ProgressBar progressBar) { 
      this.wv = webView; 
      this.loadProgress = progressBar; 
     } 

     public void onPageFinished(WebView view, String url) { 
      wv.setVisibility(View.VISIBLE); 
      loadProgress.setVisibility(View.INVISIBLE); 
      view.clearCache(true); 
     } 

     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      wv.loadData("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + "<center>" + getString(R.string.erroopsproblem) + ".</center>", "text/html", "UTF-8"); 
     } 
    } 

Bây giờ sử dụng lớp này trên onCreate() như

WebView wv = (WebView) findViewById(R.id.webview); 
     wv.setWebViewClient(new WebViewClient()); 
     wv.getSettings().setLoadsImagesAutomatically(true); 
     wv.getSettings().setJavaScriptEnabled(true); 
     wv.setScrollBarStyle(View.VISIBLE); 
     wv.getSettings().setBuiltInZoomControls(true); 
     wv.getSettings().setSupportZoom(true); 
     wv.getSettings().setLoadWithOverviewMode(true); 
     wv.getSettings().setUseWideViewPort(true); 
     wv.getSettings().setAllowContentAccess(true); 
     wv.loadUrl(Dest); 
     wv.setVisibility(View.INVISIBLE); 
     wv.setWebViewClient(new WebViewClass(wv, loadProgress)); 
-1

Bạn
0. phải Tạo một file XML Layout ví dụ 'test.xml'
1. Tạo một lớp thừa hưởng Hoạt động ví dụ 'wvtutorial
2. Trong phương pháp OnCreate của vòng đời của nó, tạo một thể hiện của WebView, ví dụ 'wview', bởi giá trị khởi tạo rỗng
3. và khác

tôi tạo ra đầy đủ hướng dẫn trong java đơn và bố trí bằng cách bình luận tài liệu và tải lên trong con đường này:
Tải về nó và sử dụng nó :

wvtutorial.zip

Các vấn đề liên quan