10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Flutterで色々なディレクトリのファイルから、他のファイルのコードを読み込む方法メモ

Last updated at Posted at 2019-11-19

一番シンプルなパターン

まず、main.dart にメインのコードを書いて、
sub.dartにインポートしたいクラスを書いておくという状況を想定。

Flutterのプロジェクトのディレクトリ構成は以下。
今回、sub.dartmain.dartと同じディレクトリに配置。

Project Files
    …
    lib
        main.dart 
        sub.dart

以下のようにインポートする。

#sub.dart

class ABC{
    //...変数など...
    ABC(){
    //...コンストラクタ...
    }
}

#main.dart
import 'sub.dart';

ABC abc = ABC();

ディレクトリが入り組んでいるパターン1

次に、main.dart にメインのコードを書いて、同じディレクトリにcomponentsという新たなディレクトリを作る場合を考えます。
componentsディレクトリに配置したsub.dartにインポートしたいクラスを書いておくという状況を想定。

Flutterのプロジェクトのディレクトリ構成は以下。

Project Files
<project name(//任意で自分で決めたもの)>
    …
    lib
        main.dart 
        components
            sub.dart

以下のようにインポートする。

#sub.dart

class ABC{
    //...変数など...
    ABC(){
    //...コンストラクタ...
    }
}

#main.dart
import 'sub.dart';
import 'package:<project name(//任意で自分で決めたもの)>/components/sub.dart';

ABC abc = ABC();

ディレクトリが入り組んでいるパターン2

次に、main.dart にメインのコードを書いて、同じディレクトリにcomponentsscreenいう新たなディレクトリを作る場合を考えます。これはFlutterプロジェクトではよくあるパターンで、screenには画面の表示テンプレートっぽい物を中心にファイルを集めます。compornentsには便利な関数やクラスを集めて使って引き継ぎやすくする工夫です。

今回は、
componentsディレクトリに配置したsub.dartに書いたクラスを、screenディレクトリに配置したsome_screen.dartにインポートしたいという状況を想定。

Flutterのプロジェクトのディレクトリ構成は以下。
今回、sub.dartmain.dartと同じディレクトリに配置。

Project Files
<project name(//任意で自分で決めたもの)>
    …
    lib
        main.dart 
        components
            sub.dart
        screen
            some_screen.dart

以下のようにインポートする。

#sub.dart

class ABC{
    //...変数など...
    ABC(){
    //...コンストラクタ...
    }
}

#some_screen.dart
import 'package:<project name(//任意で自分で決めたもの)>/components/sub.dart';

ABC abc = ABC();

相対パスも指定可能

なお、sub.dartmain.dartの何かをインポートしたい場合は、相対パスも可能です。

#sub.dart
import '../main.dart';

//main.dartの何かを使う

class ABC{
    //...変数など...
    ABC(){
    //...コンストラクタ...
    }
}

10
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?