Flutter-introduction-to-package
Flutter-パッケージの概要
Dartの一連の機能を整理および共有する方法は、パッケージを使用することです。 Dartパッケージは、単に共有可能なライブラリまたはモジュールです。 一般に、DartパッケージはDartアプリケーションと同じですが、Dartパッケージにはアプリケーションエントリポイントmainがありません。
パッケージの一般的な構造(デモパッケージmy_demo_packageを検討してください)は以下のとおりです-
- lib/src/ *-プライベートDartコードファイル。
- lib/my_demo_package.dart -メインDartコードファイル。 次のようにアプリケーションにインポートできます-
- 以下に示すように、必要に応じて、他のプライベートコードファイルをメインコードファイル(my_demo_package.dart)にエクスポートできます-
- lib/ *-任意のカスタムフォルダー構造に配置された任意の数のDartコードファイル。 コードには、次のようにアクセスできます。
- pubspec.yaml -アプリケーションと同じプロジェクト仕様、
パッケージ内のすべてのDartコードファイルは単にDartクラスであり、Dartコードをパッケージに含めるための特別な要件はありません。
パッケージの種類
Dartパッケージは基本的に同様の機能の小さなコレクションであるため、機能に基づいて分類できます。
ダーツパッケージ
Web環境とモバイル環境の両方で使用できる汎用Dartコード。 たとえば、english_wordsは約5000の単語を含むパッケージの1つで、名詞(英語の名詞をリストする)、音節(単語の音節の数を指定する)などの基本的なユーティリティ機能があります。
フラッターパッケージ
Flutterフレームワークに依存し、モバイル環境でのみ使用できる汎用Dartコード。 たとえば、fluroはフラッター用のカスタムルーターです。 Flutterフレームワークに依存します。
Flutterプラグイン
一般的なDartコード。Flutterフレームワークと、基盤となるプラットフォームコード(Android SDKまたはiOS SDK)に依存します。 たとえば、カメラはデバイスのカメラと対話するためのプラグインです。 Flutterフレームワークとカメラにアクセスするための基礎となるフレームワークに依存します。
Dartパッケージを使用する
Dartパッケージはホストされ、ライブサーバーhttps://pub.dev [[[1]]]に公開されます。また、Flutterは、アプリケーションでDartパッケージを管理するための単純なツールpubを提供します。 パッケージとして使用するために必要な手順は次のとおりです-
- 以下に示すように、pubspec.yamlに必要なパッケージ名とバージョンを含めます-
- 最新のバージョン番号は、オンラインサーバーを確認することで確認できます。
- 次のコマンドを使用して、アプリケーションにパッケージをインストールします-
- Androidスタジオでの開発中に、Android Studioはpubspec.yamlの変更を検出し、以下に示すように開発者にAndroidスタジオパッケージアラートを表示します-
- Dartパッケージは、メニューオプションを使用してAndroid Studioにインストールまたは更新できます。
- 以下に示すコマンドを使用して必要なファイルをインポートし、作業を開始します-
- パッケージで利用可能な任意の方法を使用し、
- ここでは、名詞関数を使用して上位50ワードを取得および印刷しました。
Flutterプラグインパッケージを開発する
Flutterプラグインの開発は、DartアプリケーションまたはDartパッケージの開発に似ています。 唯一の例外は、プラグインがシステムAPI(AndroidまたはiOS)を使用して、必要なプラットフォーム固有の機能を取得することです。
前の章でプラットフォームコードにアクセスする方法を既に学習したので、プラグイン開発プロセスを理解するために単純なプラグインmy_browserを開発しましょう。 my_browserプラグインの機能は、アプリケーションがプラットフォーム固有のブラウザーで特定のWebサイトを開くことを許可することです。
- Android Studioを起動します。
- [ファイル]→[新しいFlutterプロジェクト]をクリックし、[Flutterプラグイン]オプションを選択します。
- ここに示すように、Flutterプラグインの選択ウィンドウが表示されます-
- プロジェクト名としてmy_browserを入力し、[次へ]をクリックします。
- ここに示すように、ウィンドウにプラグイン名とその他の詳細を入力します-
- 下のウィンドウに会社のドメインflutterplugins.finddevguides.comを入力し、[*完了]をクリックします。 新しいプラグインを開発するためのスタートアップコードが生成されます。
- my_browser.dartファイルを開き、メソッドopenBrowserを記述して、プラットフォーム固有のopenBrowserメソッドを呼び出します。
- MyBrowserPlugin.javaファイルを開き、次のクラスをインポートします-
- ここでは、Androidからブラウザを開くために必要なライブラリをインポートする必要があります。
- MyBrowserPluginクラスにRegistrarタイプの新しいプライベート変数mRegistrarを追加します。
- ここでは、Registrarを使用して、呼び出し元コードのコンテキスト情報を取得します。
- MyBrowserPluginクラスにRegistrarを設定するコンストラクターを追加します。
- registerWithを変更して、MyBrowserPluginクラスに新しいコンストラクターを含めます。
- onBrowseCallメソッドを変更して、myBrowserPluginクラスにopenBrowserメソッドを含めます。
- プラットフォーム固有のopenBrowserメソッドを記述して、MyBrowserPluginクラスのブラウザーにアクセスします。
my_browserプラグインの完全なソースコードは次のとおりです-
- 新しいプロジェクト_my_browser_plugin_test_を作成して、新しく作成したプラグインをテストします。
- pubspec.yamlを開き、my_browserをプラグインの依存関係として設定します。
- Androidスタジオは、pubspec.yamlが以下のAndroidスタジオパッケージアラートに示されているように更新されたことを警告します-
- [依存関係の取得]オプションをクリックします。 Androidスタジオはインターネットからパッケージを取得し、アプリケーション用に適切に構成します。
- main.dartを開き、以下のようにmy_browserプラグインを含めます-
- 以下に示すように、my_browserプラグインからopenBrowser関数を呼び出します-
- main.dartの完全なコードは次のとおりです-
- アプリケーションを実行し、「ブラウザーを開く」ボタンをクリックして、ブラウザーが起動することを確認します。 あなたは、ブラウザアプリを見ることができます-以下に示すスクリーンショットに示すようにホームページ-
あなたは、ブラウザアプリを見ることができます-下に示すスクリーンショットに示されているブラウザ画面-