FlutterでAPIを活用する方法

モバイルアプリ開発では、外部のAPIと連携してデータを取得・表示することがよくあります。天気アプリ、ショッピングアプリ、SNSアプリなど、インターネット上のデータを活用する場面は多く存在します。Flutterでは http パッケージを使って簡単にAPIと通信できます。このブログでは、FlutterでAPIからデータを取得し、UIに表示する方法を解説します。

ステップ1:http パッケージを追加

pubspec.yaml ファイルに以下を追加:

dependencies:

 http: ^0.13.6

そして以下を実行:

flutter pub get

 ステップ2:APIからデータを取得

使用するAPI: https://jsonplaceholder.typicode.com/users/

import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

class ApiExample extends StatefulWidget {
  @override
  _ApiExampleState createState() => _ApiExampleState();
}

class _ApiExampleState extends State<ApiExample> {
  List<dynamic> users = [];

  Future<void> fetchUsers() async {
    final response = await http.get(Uri.parse('https://jsonplaceholder.typicode.com/users'));

    if (response.statusCode == 200) {
      setState(() {
        users = json.decode(response.body);
      });
    } else {
      throw Exception('ユーザーの取得に失敗しました');
    }
  }

  @override
  void initState() {
    super.initState();
    fetchUsers();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('ユーザーリスト')),
      body: ListView.builder(
        itemCount: users.length,
        itemBuilder: (context, index) {
          final user = users[index];
          return ListTile(
            title: Text(user['name']),
            subtitle: Text(user['email']),
          );
        },
      ),
    );
  }
}

💡 ポイントまとめ

  • http.get() でGETリクエストを送信
  • JSON形式のレスポンスを json.decode() で解析
  • setState() でUIに反映

⚠️ 注意点とベストプラクティス

  • ネットワークエラーやレスポンスの失敗を考慮したエラーハンドリングを行う
  • async/await を使って非同期処理をスマートに管理
  • 実プロジェクトでは Dio や Retrofit の導入もおすすめ

🎯 まとめ

FlutterでのAPI活用は非常にシンプルです。少ないコードで外部データを取得し、実用的なアプリを作ることができます。API連携のスキルはFlutterエンジニアとして重要ですので、ぜひマスターしましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です