android studio webview example project
Let
us start actual programming with Android Studio
Android̢۪s
WebView allows you to open own windows for viewing URL or custom HTML markup
page.
In
this tutorial, you will create two pages, a page with a single button, when
you clicked on it, it will navigate to another page and display URL
â€Å“google.com†in WebView component. In order to add WebView to your application, you have to add WebView.
element
to your XML layout file. Its syntax is as follows a website https://developer.android.com/guide/webapps/webview
A WebView is basically a container that renders a predefined
or user-defined web address. Hybrid apps mostly work on the concepts of
WebViews which enable web developers to reuse the website code and target
multiple platforms at once.
1. MainActivity.Java :
package
com.example.WebView;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import
android.webkit.WebView;
import
android.webkit.WebViewClient;
import
android.widget.Button;
import
android.widget.EditText;
public class MainActivity
extends Activity {
Button b1;
EditText ed1;
private
WebView wv1;
@Override
protected void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button);
ed1=(EditText)findViewById(R.id.editText);
wv1=(WebView)findViewById(R.id.webView);
wv1.setWebViewClient(new MyBrowser());
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = ed1.getText().toString();
wv1.getSettings().setLoadsImagesAutomatically(true);
wv1.getSettings().setJavaScriptEnabled(true);
wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wv1.loadUrl(url);
}
});
}
private class
MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
2. Activity Main.xml :
<?xml
version="1.0" encoding="utf-8"?>
RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
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="taskreminderapp.techsect.com.techlock.MainActivity">
<TextView
android:text="WebView" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WebView"
android:id="@+id/textView"
android:layout_below="@+id/textview"
android:layout_centerHorizontal="true"
android:textColor="#ff7aff24"
android:textSize="35dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="Enter Text"
android:focusable="true"
android:textColorHighlight="#ff7eff15"
android:textColorHint="#ffff25e6"
android:layout_marginTop="46dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/imageView"
android:layout_alignEnd="@+id/imageView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter"
android:id="@+id/button"
android:layout_alignTop="@+id/editText"
android:layout_toRightOf="@+id/imageView"
android:layout_toEndOf="@+id/imageView" />
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webView"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" />
</RelativeLayout>
3. Activity Mainifests.xml :
<?xml
version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.WebView">
<uses-permission
android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
4. String.xml :
<resources>
<string
name="app_name">Calling</string>
<string
name="hello_world">Hello world!</string>
<string
name="menu_settings">Settings</string>
<string
name="title_activity_main">MainActivity</string>
</resources>

The article provides a practical introduction to Android WebView development, showing how a WebView can be used to render a web address or HTML content inside an Android application. The example demonstrates connecting UI elements such as a button and text field with a WebView and loading the entered URL programmatically.
ReplyDeleteThe Java implementation also illustrates important concepts such as configuring WebView settings, enabling JavaScript, loading URLs, and using WebViewClient to handle navigation within the application. This makes the example useful for understanding how web content can be incorporated into mobile applications.
The WebView-based approach discussed here is closely related to a React Native Course, particularly when exploring different approaches to mobile application development and the interaction between web technologies and mobile interfaces.
The example is also directly relevant to Android Projects for Final Year, where WebView can be used as one of the techniques for integrating web-based content into an Android application.
ReplyDelete