Dacă aţi ţinut evidenţa tutorialelor anterioare, un loc special l-a ocupat prezentarea componentelor care pot alcătui o interfaţă grafică. WebView face parte din această categorie şi are ca scop principal realizarea unui screen având rol de browser. Pentru a exemplifica utilitatea acestui View vom utiliza o simplă activitate care va face posibilă deschiderea unei pagini web.
Pentru a realiza acest deziderat, se alcătuieşte un layout xml de forma:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="10dip" android:paddingLeft="10dip" android:layout_marginBottom="10dip" android:gravity="center_vertical"> <EditText android:id="@+id/txtUrl" android:layout_width="240dip" android:layout_height="40dip" android:background="@drawable/white" android:layout_marginRight="10dip" android:paddingLeft="3dip"> </EditText> <Button android:id="@+id/btnGo" android:layout_width="40dip" android:layout_height="40dip" android:background="@drawable/light_gray" android:text="GO" android:textColor="@drawable/white" android:textStyle="bold" android:onClick="btnGo_onClick"> </Button> </LinearLayout> <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent"> </WebView> </LinearLayout> |
Pentru a pune în funcţiune acest screen este necesară crearea unui Activity, de exemplu TestUI, care să permită WebView-ului să afişeze conţinutul paginii web dorite.
package org.ex.app; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.widget.EditText; public class TestUI extends Activity { EditText txtUrl; WebView webview; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); txtUrl=(EditText)findViewById(R.id.txtUrl); webview = (WebView) findViewById(R.id.webView); } public void btnGo_onClick(View view) { String url=txtUrl.getText().toString(); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("http://"+url); } } |
Pentru a asigura succesul acestei mini-aplicaţii este absolut necesar să se adauge în documentul manifest permisiunea pentru accesul la internet:
<uses-permission android:name="android.permission.INTERNET"/> |
Şi astfel aţi realizat propriul browser care să funcţioneze pe platforma Android. 😉