このプロジェクトについて
AgentWebはAndroid WebViewに基づくライブラリであり、WebViewの使用を簡素化し、強力で柔軟な機能を提供することを目的としています。Android WebView開発における一般的な問題、例えばプログレスバー、エラーページ、ファイル選択などを解決し、カスタムミドルウェアをサポートします。
## 主な特徴
- **使いやすさ**: `AgentWeb.with()` のチェーン呼び出しにより迅速に統合可能。
- **豊富な機能**: プログレスバー、エラーページ、ファイル chooser(オプション)、ダウンローダーなどが内蔵。
- **柔軟性**: ミドルウェア(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");
```
## 注意事項
- WebViewに対して直接 `setWebViewClient()` / `setWebChromeClient()` を呼び出さないでください。AgentWebが提供するメソッドまたはミドルウェアを使用してください。
- `setOpenOtherPageWays(ASK)` は、ターゲットアプリがインストールされている場合にのみダイアログを表示します。
- http/https以外のスキームを処理する際、プライバシー検知がトリガーされる可能性があります。これを回避するには `DISALLOW` を設定してください。
- `AlertDialog` のサポートにはAppCompatテーマが必要です。
- v5.1.2以降、compileSdk/targetSdkが36にアップグレードされ、AGPも同時にアップグレードする必要があります。
- v5.1.3以降、`@JavascriptInterface` のkeepルールが組み込まれているため、再宣言は不要です。
## 関連プロジェクト
- [flying-pigeon](https://github.com/Justson/flying-pigeon): プロセス間通信(IPC)コンポーネント。
- [AgentWebX5](https://github.com/Justson/AgentWebX5): 腾讯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 License 2.0。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.