CONTENT
ここから
この節では、Flutterアプリで使う「API連携」について、初心者向けに整理します。
今回作るポケモン図鑑アプリでは、Flutterアプリの中に最初からポケモン情報を入れておくのではなく、外部APIからデータを取得して表示します。
最初に覚えることは、これだけです。
API連携 = アプリが外部サービスからデータや機能を使う仕組み
この節で学ぶこと
この節では、次の内容を学びます。
APIとは何か
FlutterアプリでAPIを使う理由
API連携の基本的な流れ
ポケモン図鑑アプリでAPIがどう使われるか
難しい言葉を完璧に覚える必要はありません。
まずは、APIを「外のデータを取りに行く入口」と考えれば大丈夫です。
APIとは何か
APIとは、アプリが外部サービスとつながるための入口です。
例えば、次のようなアプリではAPIが使われています。
| アプリ | APIで取得するもの |
|---|---|
| 天気アプリ | 気温、天気、降水確率 |
| 地図アプリ | 住所、位置情報、経路 |
| ニュースアプリ | 記事タイトル、本文、画像 |
| 翻訳アプリ | 翻訳結果 |
| ポケモン図鑑アプリ | 名前、画像、高さ、重さ |
Flutterだけでも画面は作れます。
しかし、外部のデータを使いたい場合はAPIが必要になります。
FlutterアプリでAPIを使う理由
Flutterアプリだけでは、外部サービスの最新データを自動で持っているわけではありません。
例えば、ポケモン図鑑アプリで考えると、アプリ内にすべてのポケモン情報を手入力するのは大変です。
そこでAPIを使います。
Flutterアプリ
↓
APIに問い合わせる
↓
ポケモン情報を受け取る
↓
画面に表示する
APIを使うと、アプリの中にデータを全部入れなくても、必要なときに外部から取得できます。
API連携の基本の流れ
API連携の基本は、とてもシンプルです。
1. APIのURLを用意する
2. FlutterからURLにアクセスする
3. APIからデータが返ってくる
4. 返ってきたデータを読み取る
5. 必要な情報を画面に表示する
ポケモン図鑑アプリでは、次のような流れになります。
ポケモン番号を入力
↓
検索ボタンを押す
↓
PokéAPIにアクセス
↓
JSONデータを取得
↓
名前・画像・高さ・重さを表示
APIから返ってくるJSONとは
APIから返ってくるデータは、多くの場合JSONという形式です。
JSONは、データを分かりやすく整理した形です。
例えば、次のような形です。
{
"name": "pikachu",
"height": 4,
"weight": 60
}
このデータを見ると、次のことが分かります。
| キー | 意味 | 値 |
|---|---|---|
name | 名前 | pikachu |
height | 高さ | 4 |
weight | 重さ | 60 |
Flutterでは、このJSONから必要なデータだけを取り出して画面に表示します。
ポケモン図鑑アプリで使うAPI連携
今回のアプリでは、ポケモン番号を使ってAPIにアクセスします。
例として、ポケモン番号 25 を使う場合は、次のようなURLにアクセスします。
https://pokeapi.co/api/v2/pokemon/25
このURLにアクセスすると、番号25のポケモン情報が返ってきます。
アプリでは、返ってきたデータから次の情報を使います。
名前
画像URL
高さ
重さ
すべてのデータを使う必要はありません。
初心者のうちは、画面に表示したいデータだけを取り出せば大丈夫です。
FlutterでAPI連携するときに使うもの
FlutterでAPIにアクセスするときは、主に次のものを使います。
| 使うもの | 役割 |
|---|---|
http パッケージ | APIにアクセスする |
http.get() | データを取得する |
jsonDecode() | JSONをFlutterで扱える形に変換する |
Text | 文字を表示する |
Image.network() | 画像URLから画像を表示する |
この節では、まだ全部を覚えなくて大丈夫です。
まずは、次の流れだけ理解しましょう。
http.get()
↓
APIからデータを取得
jsonDecode()
↓
JSONを読める形に変換
Text / Image.network
↓
画面に表示
API連携で作れるアプリ例
API連携を覚えると、ポケモン図鑑以外にもいろいろなアプリを作れます。
| 作れるアプリ | APIで使うデータ |
|---|---|
| 天気アプリ | 気温、天気、風速 |
| 映画検索アプリ | 映画タイトル、評価、画像 |
| ニュースアプリ | 記事一覧、画像 |
| 商品検索アプリ | 商品名、価格、画像 |
| AIチャットアプリ | AIの返答 |
つまり、API連携はFlutterアプリを便利にするための重要な技術です。
初心者がつまずきやすいポイント
API連携でよくあるつまずきは、次の3つです。
URLが間違っている
JSONの取り出し方が違う
インターネット通信のエラーを考えていない
最初はエラーが出ても大丈夫です。
API連携では、次のように順番に確認すると原因を見つけやすいです。
URLは正しいか
ブラウザでAPIを開けるか
Flutterでデータを取得できているか
JSONのキー名は正しいか
画面に表示するコードは正しいか
この節のゴール
この節のゴールは、API連携の全体像を理解することです。
次のことが分かればOKです。
APIは外部サービスとつながる入口
FlutterはAPIからデータを取得できる
APIから返ってくるデータはJSON形式が多い
必要なデータだけ取り出して画面に表示する
まとめ
この節では、Flutter初心者が知っておきたいAPI連携の基本を学びました。
API連携とは、アプリが外部サービスからデータや機能を使う仕組みです。
ポケモン図鑑アプリでは、FlutterからPokéAPIにアクセスし、ポケモンの名前・画像・高さ・重さを取得します。
基本の流れは、次の通りです。
Flutterアプリ
↓
APIにアクセス
↓
JSONデータを取得
↓
必要な情報を取り出す
↓
画面に表示する
この流れを理解できると、天気アプリ、ニュースアプリ、商品検索アプリ、AIアプリなど、さまざまなFlutterアプリに応用できます。