สอนทำ WebView สามารถเปิดเว็บไซต์ได้บนแอพแอนดรอยด์ (Android) ง่ายมาก


WebView นั่นเป็นเหมือนเครื่องตัวหนึ่งของแอนดรอยด์ที่เอาไว้สำหรับทำฟีเจอร์ให้แอพพลิเคชั่นนั้นสามารถเข้าถึงเว็บไซต์ได้ โดยที่ไม่ต้องสลับไปใช้งานบน Browser หรือแอพพลิเคชั่นเล่นเว็บ ซึ่งการทำ WebView นั้นก็เป็นอะไรที่เขียนโค้ดง่ายมาก เรียกได้ว่าเขียนสั้นๆ ก็จบการทำงานขั้นพื้นฐานได้เลย

อธิบายโค้ด

this.webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://tanat29myproject.com/");
ประกาศ Widget  เพื่อให้สามารถใช้งาน WebView ได้ และกำหนด loadUrl ว่าให้โหลดเข้าที่แอดเดรสไหน

WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
กำหนดให้เปิด JavaScript ระหว่างการใช้งาน WebView โดยกำหนดให้เป็น true

@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
กำหนดว่าถ้ากดปุ่ม Back บนมือถือ ให้หน้าเว็บบน WebView นั้นสามารถย้อนกลับได้ด้วย เหมือนกับเวลาใช้งานแอพ

<uses-permission android:name="android.permission.INTERNET" />
กำหนด Permission ให้แอพพลิเคชั่นสามารถใช้งานอินเทอร์เน็ตได้

โค้ดทั้งหมด

ไฟล์ MainActivity.java
package com.tanat29.webview;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

private WebView webView = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

this.webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://tanat29myproject.com/");

WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
}

@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
}

และอย่าลืมกำหนด Permission อินเทอร์เน็ตด้วยนะครับ
ไฟล์ AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การรับค่า ส่งค่าจากหน้าที่ 1 ไปหน้าที่ 2 บน Flutter (How to pass data between screens in Flutter?)

การจับเวลาบน Flutter ทำยังไง (How to count up timer flutter?)

วิธีการสลับข้อมูล MySQL ในคอลัมน์เดียวกัน