一番シンプルなパターン
まず、main.dart
にメインのコードを書いて、
sub.dart
にインポートしたいクラスを書いておくという状況を想定。
Flutterのプロジェクトのディレクトリ構成は以下。
今回、sub.dart
はmain.dart
と同じディレクトリに配置。
Project Files
…
lib
main.dart
sub.dart
以下のようにインポートする。
class ABC{
//...変数など...
ABC(){
//...コンストラクタ...
}
}
import 'sub.dart';
ABC abc = ABC();
ディレクトリが入り組んでいるパターン1
次に、main.dart
にメインのコードを書いて、同じディレクトリにcomponents
という新たなディレクトリを作る場合を考えます。
components
ディレクトリに配置したsub.dart
にインポートしたいクラスを書いておくという状況を想定。
Flutterのプロジェクトのディレクトリ構成は以下。
Project Files
<project name(//任意で自分で決めたもの)>
…
lib
main.dart
components
sub.dart
以下のようにインポートする。
class ABC{
//...変数など...
ABC(){
//...コンストラクタ...
}
}
import 'sub.dart';
import 'package:<project name(//任意で自分で決めたもの)>/components/sub.dart';
ABC abc = ABC();
ディレクトリが入り組んでいるパターン2
次に、main.dart
にメインのコードを書いて、同じディレクトリにcomponents
とscreen
いう新たなディレクトリを作る場合を考えます。これはFlutterプロジェクトではよくあるパターンで、screen
には画面の表示テンプレートっぽい物を中心にファイルを集めます。compornents
には便利な関数やクラスを集めて使って引き継ぎやすくする工夫です。
今回は、
components
ディレクトリに配置したsub.dart
に書いたクラスを、screen
ディレクトリに配置したsome_screen.dart
にインポートしたいという状況を想定。
Flutterのプロジェクトのディレクトリ構成は以下。
今回、sub.dart
はmain.dart
と同じディレクトリに配置。
Project Files
<project name(//任意で自分で決めたもの)>
…
lib
main.dart
components
sub.dart
screen
some_screen.dart
以下のようにインポートする。
class ABC{
//...変数など...
ABC(){
//...コンストラクタ...
}
}
import 'package:<project name(//任意で自分で決めたもの)>/components/sub.dart';
ABC abc = ABC();
相対パスも指定可能
なお、sub.dart
にmain.dart
の何かをインポートしたい場合は、相対パスも可能です。
import '../main.dart';
//main.dartの何かを使う
class ABC{
//...変数など...
ABC(){
//...コンストラクタ...
}
}