عن المشروع

AgentWeb هي مكتبة مبنية على WebView في Android، تهدف إلى تبسيط استخدام WebView وتوفير وظائف قوية ومرنة. تحل المشكلات الشائعة في تطوير WebView على Android، مثل شريط التقدم وصفحات الأخطاء واختيار الملفات، وتدعم البرمجيات الوسيطة المخصصة. ## الميزات الرئيسية - **سهولة الاستخدام**: تكامل سريع عبر استدعاءات متسلسلة باستخدام `AgentWeb.with()`. - **غنية بالوظائف**: تتضمن شريط تقدم مدمجًا، وصفحات أخطاء، ومحدد ملفات (اختياري)، ومدير تنزيلات. - **المرونة**: تدعم البرمجيات الوسيطة (MiddlewareWebClientBase / MiddlewareWebChromeBase) لإضافة منطق مخصص. - **خفيفة الوزن**: حجم المكتبة الأساسية صغير، مع وحدات اختيارية تُضاف حسب الحاجة. ## البدء السريع 1. أضف مستودع JitPack (في Gradle 7+ قم بالتكوين في `settings.gradle`). 2. أضف التبعيات: ```groovy implementation 'com.github.Justson.AgentWeb:agentweb-core:5.1.7-androidx' // إلزامي implementation 'com.github.Justson.AgentWeb:agentweb-filechooser:5.1.7-androidx' // اختياري implementation 'com.github.Justson:Downloader:v5.0.6-androidx' // اختياري ``` 3. قم بالتهيئة في Activity/Fragment: ```java AgentWeb.with(this) .setAgentWebParent(container, new LinearLayout.LayoutParams(...)) .useDefaultIndicator() .createAgentWeb() .ready() .go("https://example.com"); ``` ## ملاحظات مهمة - لا تستدعِ `setWebViewClient()` / `setWebChromeClient()` مباشرة على WebView، بل استخدم الطرق التي توفرها AgentWeb أو البرمجيات الوسيطة. - `setOpenOtherPageWays(ASK)` يعرض نافذة منبثقة فقط عندما يكون التطبيق الهدف مثبتًا. - عند التعامل مع مخططات غير http/https قد يتم تشغيل كشف الخصوصية، ويمكن ضبط `DISALLOW` لتجنب ذلك. - يتطلب دعم سمة AppCompat لـ `AlertDialog`. - منذ الإصدار v5.1.2، تمت ترقية compileSdk/targetSdk إلى 36، ويجب ترقية AGP بالتزامن. - منذ الإصدار v5.1.3، تم تضمين قواعد الاحتفاظ بـ `@JavascriptInterface`، ولا حاجة لإعادة تعريفها. ## مشاريع ذات صلة - [flying-pigeon](https://github.com/Justson/flying-pigeon): مكون IPC عبر العمليات. - [AgentWebX5](https://github.com/Justson/AgentWebX5): تكييف نواة Tencent X5. - [CoolIndicator](https://github.com/Justson/CoolIndicator): شريط تقدم WebView. - [Downloader](https://github.com/Justson/Downloader): مدير تنزيلات خفيف. ## التوثيق والدعم - [Wiki](https://github.com/Justson/AgentWeb/wiki) (غير مكتمل) - أمثلة Sample (موصى بها) - [سجل التحديثات](./releasenote.md) - تقديم الملاحظات: [Issues](https://github.com/Justson/AgentWeb/issues) - مجموعة QQ: 599471474 ## الترخيص رخصة Apache 2.0.