Flutter游戏数据获取插件rawg_dart_wrapper的使用

Flutter游戏数据获取插件rawg_dart_wrapper的使用

RAWG Wrapper

Pub

RAWG API 文档

RAWG API 文档可在 这里 查看。

https://api.rawg.io/docs/

导入

import 'package:rawg_dart_wrapper/rawg_dart_wrapper.dart';

使用

初始化

Rawg(apiKey: "0000000000000000");

// 现在可以使用静态方法

使用

游戏

// 获取所有游戏
List<Game> games = await Rawg.getGames(page: 1);

List<Game> games = await Rawg.getGames(order: Ordering.released); // 自定义排序

// 搜索游戏
List<Game> games = await Rawg.getGames(query: "Call of duty");

// 获取游戏详情
Game detail = await Rawg.getGameDetails(id: 5);

// 获取截图
List<String> screen = await Rawg.getScreenshot(gameID: 5);

// 获取预告片
List<String> trailer = await Rawg.getTrailers(gameID: 5);

类型

// 获取类型
List<Genre> genres = await Rawg.getGenres();

成就

Game game = ... // 单个游戏从getGames()中获取

// 获取游戏成就
List<Achievement> achievement = await Rawg.getAchievements(id: game.id);

List<Achievement> achievement = await Rawg.getAchievements(id: game.id, page: 3);

平台

// 获取平台
List<Platform> platforms = await Rawg.getPlatforms();

出版商

// 获取出版商
List<Publisher> publisher = await Rawg.getPublisher();

商店

// 获取商店
List<Store> store = await Rawg.getStore();

// 获取游戏的商店
List<String> gameStore = await Rawg.getStoreForGame(gameID: 5);

TODO

  • 获取销售游戏的商店链接

完整示例代码

以下是一个完整的示例代码,展示了如何使用 rawg_dart_wrapper 插件获取游戏数据:

import 'dart:async';
import 'package:rawg_dart_wrapper/rawg_dart_wrapper.dart';

Future<dynamic> main() async {
  // 初始化
  Rawg(apiKey: "0000000000000000");
  // 现在可以使用静态方法

  // 获取所有游戏
  List<Game> games = await Rawg.getGames(page: 1);

  List<Game> games2 = await Rawg.getGames(order: Ordering.released); // 自定义排序

  // 获取截图
  List<String> screen = await Rawg.getScreenshot(gameID: games2.first.id);

  // 获取预告片
  List<String> trailer = await Rawg.getTrailers(gameID: games2.first.id);

  // 搜索游戏
  games2 = await Rawg.getGames(query: "Call of duty");

  // 获取游戏详情
  Game detail = await Rawg.getGameDetails(id: games2.first.id);

  // 获取类型
  List<Genre> genres = await Rawg.getGenres();

  // 获取平台
  List<Platform> platforms = await Rawg.getPlatforms();

  // 获取游戏成就
  List<Achievement> achievement = await Rawg.getAchievements(id: games.first.id);

  achievement = await Rawg.getAchievements(id: games.first.id);

  // 获取出版商
  List<Publisher> publish = await Rawg.getPublisher();

  // 获取商店
  List<Store> store = await Rawg.getStore();

  // 获取游戏的商店
  List<String> gameStore = await Rawg.getStoreForGame(gameID: games2.first.id);

  // 打印结果
  print(games);
  print(detail);
  print(trailer);
  print(screen);
  print(platforms);
  print(genres);
  print(achievement);
  print(publish);
  print(store);
  print(gameStore);
}

更多关于Flutter游戏数据获取插件rawg_dart_wrapper的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter游戏数据获取插件rawg_dart_wrapper的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,我可以为你提供一个关于如何使用 rawg_dart_wrapper 插件来获取游戏数据的代码示例。rawg_dart_wrapper 是一个用于 Flutter 的插件,它封装了对 RAWG API 的访问,允许你获取游戏信息、开发者信息、平台信息等。

以下是一个简单的示例,展示如何使用 rawg_dart_wrapper 来获取特定游戏的信息:

  1. 添加依赖

首先,在你的 pubspec.yaml 文件中添加 rawg_dart_wrapper 依赖:

dependencies:
  flutter:
    sdk: flutter
  rawg_dart_wrapper: ^最新版本号  # 请替换为实际的最新版本号

然后运行 flutter pub get 来获取依赖。

  1. 使用插件

接下来,在你的 Flutter 应用中使用这个插件。以下是一个简单的示例,展示如何获取一个特定游戏的信息:

import 'package:flutter/material.dart';
import 'package:rawg_dart_wrapper/rawg_dart_wrapper.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late RawgClient _rawgClient;
  Game? _game;
  String _status = 'Loading...';

  @override
  void initState() {
    super.initState();
    // 初始化 RawgClient,替换为你的 API Key
    _rawgClient = RawgClient(apiKey: '你的RAWG API Key');

    // 获取游戏信息,这里以 ID 为 1 的游戏为例
    _fetchGameInfo(1);
  }

  Future<void> _fetchGameInfo(int gameId) async {
    try {
      _game = await _rawgClient.getGameById(gameId);
      setState(() {
        _status = 'Loaded';
      });
    } catch (e) {
      setState(() {
        _status = 'Error: ${e.message}';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('RAWG Game Info'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text(
                _status,
                style: TextStyle(fontSize: 20),
              ),
              if (_game != null)
                Padding(
                  padding: const EdgeInsets.all(16.0),
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: <Widget>[
                      Text(
                        'Name: ${_game!.name}',
                        style: TextStyle(fontSize: 18),
                      ),
                      Text(
                        'Released: ${_game!.released}',
                        style: TextStyle(fontSize: 16),
                      ),
                      Text(
                        'Platforms: ${_game!.platforms!.map((platform) => platform.name).join(', ')}',
                        style: TextStyle(fontSize: 16),
                      ),
                      // 可以根据需要添加更多游戏信息
                    ],
                  ),
                ),
            ],
          ),
        ),
      ),
    );
  }
}

在这个示例中,我们:

  1. 初始化了 RawgClient,并传入了你的 RAWG API Key。
  2. 使用 getGameById 方法获取特定游戏的信息。
  3. 在 UI 中显示了游戏的名称、发布日期和平台信息。

请注意,你需要替换 '你的RAWG API Key' 为你在 RAWG 网站上获取的实际 API Key。此外,你可以根据需要扩展这个示例,以获取和显示更多游戏相关的信息。

希望这个示例对你有所帮助!

回到顶部