Quantcast
Channel: NumeroReal » android
Viewing all articles
Browse latest Browse all 12

Android, WebView

$
0
0

WebView

Após falarmos sobre as tendências de uso do layout WebView, vamos apresentar um exemplo para que voce possa entender como ele funciona, e nada melhor de que apresentar um WebView como se fosse um navegador Web.

É claro que você também pode especificar string HTML e pode mostrá-lo dentro de seu aplicativo usando o WebView. O WebView transforma seu aplicativo para um aplicativo web.

android_webviews

Para adicionar um WebView para sua aplicação, você tem que adicionar <WebView> elemento para o seu arquivo de layout XML. Como vemos abaixo :

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

Em seu Activity voce deve utiliza-lo da seguinte forma:

WebView browser = (WebView) findViewById(R.id.webview);
browser.loadUrl("http://www.numeroreal.com.br");

 Se você clicar em qualquer link dentro da página web do WebView, essa página não será carregado dentro de sua WebView. A fim de fazer isso você precisa estender sua classe de WebViewClient e substituir seu método. Sua sintaxe é:

private class MyBrowser extends WebViewClient {
   @Override
   public boolean shouldOverrideUrlLoading(WebView view, String url) {
      view.loadUrl(url);
      return true;
   }
}

Agora vamos ver como fica o seu Activity completo.

package br.com.example.webview;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

   private EditText field;
   private WebView browser;

   @Override		
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      field = (EditText)findViewById(R.id.urlField);
      browser = (WebView)findViewById(R.id.webView1);
      browser.setWebViewClient(new MyBrowser());
   }


   public void open(View view){
      String url = field.getText().toString();
      browser.getSettings().setLoadsImagesAutomatically(true);
      browser.getSettings().setJavaScriptEnabled(true);
      browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
      browser.loadUrl(url);

   }
   private class MyBrowser extends WebViewClient {
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
         view.loadUrl(url);
         return true;
      }
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }

}

Abaixo seu  res/layout/activity_main.xml..

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/hello_world" />

   <EditText
      android:id="@+id/urlField"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignTop="@+id/textView1"
      android:layout_centerHorizontal="true"
      android:ems="10" />

   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/urlField"
      android:layout_centerHorizontal="true"
      android:onClick="open"
      android:text="@string/browse" />

   <WebView
      android:id="@+id/webView1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/textView1"
      android:layout_alignParentBottom="true"
      android:layout_below="@+id/button1" />

</RelativeLayout>

 

Abaixo seu  res/values/string.xml..

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <string name="app_name">WebView</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">URL:</string>
   <string name="browse">Browse</string>

</resources>

 

Abaixo seu AndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.webview"
   android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="17" />
   <uses-permission android:name="android.permission.INTERNET"/>

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity
         android:name="br.com.example.webview.MainActivity"
         android:label="@string/app_name" >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
   </application>

</manifest>

 

Vamos ver como ficou.

Webview

Bom pessoal este mais um dos elementos importantes na programação Android.

The post Android, WebView appeared first on NumeroReal.


Viewing all articles
Browse latest Browse all 12