Flutter应用信息获取插件basic_app_info的使用

发布于 1周前 作者 wuwangju 来自 Flutter

Flutter应用信息获取插件basic_app_info的使用

Requirements(需求)

  • Flutter >=3.3.0
  • Dart >=3.3.0 <4.0.0
  • iOS >=12.0
  • MacOS >=10.14
  • Android compileSDK 34
  • Java 17
  • Android Gradle Plugin >=8.3.0
  • Gradle wrapper >=8.4

Usage(使用方法)

basic_app_info 是一个用于获取 Flutter 应用相关信息的插件。以下是一个完整的示例,展示如何使用该插件来获取应用的基本信息。

步骤 1:添加依赖

pubspec.yaml 文件中添加 basic_app_info 插件依赖:

dependencies:
  basic_app_info: ^1.0.0  # 确保版本号与最新版本一致

然后运行以下命令以安装依赖:

flutter pub get

步骤 2:导入插件并获取应用信息

在需要使用的 Dart 文件中导入插件,并调用 AppInfo.get() 方法来获取应用信息。

import 'package:flutter/material.dart';
import 'package:basic_app_info/basic_app_info.dart'; // 导入 basic_app_info 插件

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: AppInfoPage(),
    );
  }
}

class AppInfoPage extends StatefulWidget {
  @override
  _AppInfoPageState createState() => _AppInfoPageState();
}

class _AppInfoPageState extends State<AppInfoPage> {
  String appInfoText = "加载中..."; // 用于存储应用信息的文本

  Future<void> getAppInfo() async {
    try {
      final appInfo = await AppInfo.get(); // 获取应用信息
      setState(() {
        appInfoText = "包名: ${appInfo.packageName}\n" +
                      "版本名: ${appInfo.versionName}\n" +
                      "版本号: ${appInfo.versionCode}";
      });
    } catch (e) {
      setState(() {
        appInfoText = "获取失败: $e";
      });
    }
  }

  @override
  void initState() {
    super.initState();
    getAppInfo(); // 初始化时获取应用信息
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("应用信息"),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(appInfoText), // 显示应用信息
            ElevatedButton(
              onPressed: getAppInfo, // 点击按钮重新获取应用信息
              child: Text("刷新"),
            ),
          ],
        ),
      ),
    );
  }
}

说明

  1. 依赖添加: 在 pubspec.yaml 文件中添加 basic_app_info 插件依赖后,通过 flutter pub get 命令安装插件。

  2. 获取应用信息: 使用 AppInfo.get() 方法可以获取当前应用的基本信息,包括包名 (packageName)、版本名 (versionName) 和版本号 (versionCode)。

  3. UI 更新: 使用 setState 方法更新 UI,将获取到的应用信息显示在屏幕上。

  4. 错误处理: 如果获取应用信息失败,会捕获异常并在界面上显示错误信息。

运行效果

运行上述代码后,您将在屏幕中央看到类似以下内容:

包名: com.example.myapp
版本名: 1.0.0
版本号: 1

更多关于Flutter应用信息获取插件basic_app_info的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用信息获取插件basic_app_info的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


basic_app_info 是一个用于获取 Flutter 应用基本信息的插件。它可以帮助你获取应用的名称、版本号、构建号、包名等信息。下面是如何在 Flutter 项目中使用 basic_app_info 插件的步骤。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  basic_app_info: ^0.0.3  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 导入插件

在需要使用 basic_app_info 的地方导入插件:

import 'package:basic_app_info/basic_app_info.dart';

3. 获取应用信息

你可以使用 BasicAppInfo 类来获取应用的基本信息。以下是一些常用的方法:

  • 获取应用名称

    String appName = await BasicAppInfo.appName;
  • 获取应用版本号

    String appVersion = await BasicAppInfo.appVersion;
  • 获取应用构建号

    String buildNumber = await BasicAppInfo.buildNumber;
  • 获取应用包名

    String packageName = await BasicAppInfo.packageName;

4. 示例代码

以下是一个完整的示例,展示如何在 Flutter 应用中获取并显示应用的基本信息:

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

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: AppInfoScreen(),
    );
  }
}

class AppInfoScreen extends StatefulWidget {
  [@override](/user/override)
  _AppInfoScreenState createState() => _AppInfoScreenState();
}

class _AppInfoScreenState extends State<AppInfoScreen> {
  String appName = 'Loading...';
  String appVersion = 'Loading...';
  String buildNumber = 'Loading...';
  String packageName = 'Loading...';

  [@override](/user/override)
  void initState() {
    super.initState();
    loadAppInfo();
  }

  Future<void> loadAppInfo() async {
    final appName = await BasicAppInfo.appName;
    final appVersion = await BasicAppInfo.appVersion;
    final buildNumber = await BasicAppInfo.buildNumber;
    final packageName = await BasicAppInfo.packageName;

    setState(() {
      this.appName = appName;
      this.appVersion = appVersion;
      this.buildNumber = buildNumber;
      this.packageName = packageName;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('App Info'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('App Name: $appName'),
            Text('App Version: $appVersion'),
            Text('Build Number: $buildNumber'),
            Text('Package Name: $packageName'),
          ],
        ),
      ),
    );
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!