كيفية إنشاء WebView في Android Studio
سنتعلم في هذا البرنامج التعليمي إنشاء WebView باستخدام لغة الجافا
في Android
WebView هو طريقة عرض تعرض صفحات الويب داخل التطبيق الخاص بك. يمكنك أيضًا
تحديد سلسلة نصوص HTML وإظهارها داخل التطبيق الخاص بك باستخدام WebView.
يقوم WebView بتحويل تطبيقك إلى تطبيق ويب.وايضا يمكنكم فتح ملفات الصور و
ملفات pdf و العديد من امتداد الملفات الاخرى لقد عملنا في هذا المثال على
ثلاثة انواع من استخدم الويب فيو لتصفح الويب او لفتح الملفات او عرض النصوص
ويمكنكم استخدام الكود وتطويرة في تطبيقاتكم الخاصة
رابط تحميل الكود كامل اسفل المقال
الخطوة 1 نقوم بأنشاء فئة ونسمية WebActivity.java داخل ملف النشاط نقوم بتصميم النشاط
انسخ الكود التالي وقم بأضافتة في ملف activity_web.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textDirection="anyRtl"
android:layoutDirection="rtl"
android:orientation="vertical">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:id="@+id/main_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
الخطوة 2 نقوم الان برمجيا بربط WebView وعمل الدوال التالية في ملف الجافا WebActivity.java
قم بالصق الكود التالي في ملف WebActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebActivity extends AppCompatActivity {
public static int Type = 0;
public static String HTMLTEXT = "";
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
WebView webView = (WebView) findViewById(R.id.main_webview);
this.webView = webView;
if(Type == 1){
String str1 = "كيفية عرض بيانات باستخدام webview لاضافة النصوص لاتنسوا الاشتراك في القناة و اضغط زر الاعجاب وفعل زر الجرس لكي يصلك كل جديد شكرا لكم ";
if (str1 != null) {
this.HTMLTEXT = CreateHTML(str1);
data_WebView();
}
return;
}
if(Type == 2){
show_data_WebView("file:///android_asset/as_logo.gif");
return;
}
show_data_WebView("");
}
private void show_data_WebView( String str){
this.webView.loadUrl(str);
this.webView.getSettings().setJavaScriptEnabled(true);
}
private String CreateHTML(String paramString) {
StringBuilder stringBuilder1 = new StringBuilder();
stringBuilder1.append("<form style=text-align:");
stringBuilder1.append("right");
stringBuilder1.append(">");
String str1 = stringBuilder1.toString();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(str1);
stringBuilder.append("<div style='color:#f1141b; text-align:");
stringBuilder.append("right");
stringBuilder.append("; height:12px;font-size:36;'><h4>");
stringBuilder.append(paramString);
stringBuilder.append("</h4></div>");
str1 = stringBuilder.toString();
////////////////
str1= str1.replace("\n", "<br>");
StringBuilder stringBuilder2 = new StringBuilder();
stringBuilder2.append("<html dir=\"rtl\" lang=\"ar\"><head><title></title></head><body style='background:transparent;font-size:30;'>");
stringBuilder2.append(str1);
str1 = stringBuilder2.toString();
stringBuilder2 = new StringBuilder();
stringBuilder2.append(str1);
stringBuilder2.append("</form></body></html>");
return stringBuilder2.toString();
}
private void LoadDataToHTML(WebView paramWebView, String paramString) {
paramString = paramString.replace("solid black; ", "solid black; text-align: center; ");
paramWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView param1WebView, String param1String) {
super.onPageFinished(param1WebView, param1String);
}
public void onReceivedError(WebView param1WebView, int param1Int, String param1String1, String param1String2) {}
});
paramWebView.getSettings().setLoadWithOverviewMode(true);
paramWebView.getSettings().setUseWideViewPort(true);
paramWebView.getSettings().setBuiltInZoomControls(true);
paramWebView.getSettings().setDisplayZoomControls(false);
paramWebView.getSettings().setDefaultTextEncodingName("utf-8");
paramWebView.loadDataWithBaseURL(null, paramString, "text/html", "utf-8", null);
}
private void data_WebView() {
webView.setEnabled(false);
this.webView.setEnabled(true);
this.webView.restoreState(new Bundle(100));
this.webView.clearFormData();
String str = this.HTMLTEXT;
LoadDataToHTML(this.webView, str);
this.webView.reload();
this.webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView param1WebView, String param1String) {
Intent intent;
if (param1String.startsWith("tel:")) {
intent = new Intent("android.intent.action.DIAL", Uri.parse(param1String));
startActivity(intent);
param1WebView.reload();
return true;
}
param1WebView.loadUrl(param1String);
return true;
}
});
}
}
قم بتحميل ملف المشروع واضافة الملفات في مشروعك تابع هذا الفيديو لتوضيح
قم بتنزيل كود المصدر WebView مجانًا: انقر
هـــــــــــــــنــــــا للتحميل
لا تنسوا متابعتنا على موقعنا و الاشتراك في قناتنا على
اليوتيوب و مواقع التواصل الاجتماعي
والسلام عليكم ورحمة الله
شكرا لكم علي زيارة موقعنا " علوش لتقنية المعلومات "
إرسال تعليق