Flutter版本管理插件revisions的使用
Revisions SDK for Flutter #
therevisions.app | Console | Pub
- Console: The Revisions console 提供了一种类似 Notion 的体验来发布你的发行说明
- 通用兼容性: 用 Dart 编写,Revisions 兼容 Android、iOS、Web、macOS、Windows、Linux 和 IoT
- 免费: 在测试阶段,Revisions 是免费的

3-Minute 快速入门 #
1. 创建一个帐户和项目 #
首先访问 Revisions 控制台: Revisions 控制台。 使用 GitHub 创建你的免费帐户。
然后创建一个具有描述性名称的项目。
2. 将 Revisions 添加到你的 pubspec.yaml #
$ flutter pub add revisions
3. 显示时间线 #
import 'package:revisions/revisions.dart';
Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: const RevisionsTimeline(domain: ‘your-domain.therevisions.app’), // 获取你的域名从 Revisions 控制台
);
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:revisions/revisions.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// 这个小部件是你的应用的根。
@override
Widget build(BuildContext context) {
return MaterialApp(
title: ‘修订反馈’,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepOrange),
),
home: const MyHomePage(title: ‘Flutter 示例首页’),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: const RevisionsTimeline(domain: ‘revisions-github.revisions.me’), // 替换为你的实际域名
);
}
}
更多关于Flutter版本管理插件revisions的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter版本管理插件revisions的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter开发中,revisions
插件并不是官方提供的一个标准插件,用于版本管理的插件通常是 flutter_version
或者通过 version
字段在 pubspec.yaml
中直接管理。不过,如果你的需求是在Flutter应用中管理和展示应用的版本信息,并且你提到的 revisions
是指某种自定义或第三方插件来管理版本历史记录或回滚功能,我们可以创建一个类似功能的示例代码。
不过,由于 revisions
不是标准插件,我将展示如何使用Flutter和Dart管理版本信息,并展示一个简单的版本历史记录查看功能,这可能与你提到的 revisions
插件的功能相近。
步骤 1: 创建版本信息文件
首先,我们可以创建一个 JSON 文件来存储应用的版本历史记录。例如,创建一个名为 version_history.json
的文件:
[
{
"version": "1.0.0",
"release_date": "2023-10-01",
"notes": "Initial release."
},
{
"version": "1.0.1",
"release_date": "2023-10-05",
"notes": "Fixed minor bugs and improved performance."
},
{
"version": "1.1.0",
"release_date": "2023-10-10",
"notes": "Added new features and updated UI."
}
]
步骤 2: 在Flutter应用中读取版本历史记录
接下来,在你的Flutter项目中,创建一个 Dart 文件来读取和解析这个 JSON 文件。例如,创建一个名为 version_service.dart
的文件:
import 'dart:convert';
import 'package:flutter/material.dart';
import 'dart:async' show Completer;
import 'package:http/http.dart' as http;
class VersionHistory {
String version;
String releaseDate;
String notes;
VersionHistory({required this.version, required this.releaseDate, required this.notes});
factory VersionHistory.fromJson(Map<String, dynamic> json) {
return VersionHistory(
version: json['version'] as String,
releaseDate: json['release_date'] as String,
notes: json['notes'] as String,
);
}
}
class VersionService {
Future<List<VersionHistory>> fetchVersionHistory() async {
final response = await http.get(Uri.parse('assets/version_history.json'));
if (response.statusCode == 200) {
List<dynamic> body = jsonDecode(response.body);
List<VersionHistory> versionHistoryList = body
.map((dynamic item) => VersionHistory.fromJson(item as Map<String, dynamic>))
.toList();
return versionHistoryList;
} else {
throw Exception('Failed to load version history');
}
}
}
注意:由于我们是直接从本地文件读取,这里使用了 http
包模拟网络请求。在实际应用中,你可能需要将 JSON 文件嵌入到 Flutter 资产中,并使用 rootBundle.loadString
方法来加载它。
步骤 3: 在UI中展示版本历史记录
最后,在你的主应用文件中(例如 main.dart
),创建一个页面来展示版本历史记录:
import 'package:flutter/material.dart';
import 'version_service.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Version History',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: VersionHistoryScreen(),
);
}
}
class VersionHistoryScreen extends StatefulWidget {
@override
_VersionHistoryScreenState createState() => _VersionHistoryScreenState();
}
class _VersionHistoryScreenState extends State<VersionHistoryScreen> {
late Future<List<VersionHistory>> futureVersionHistory;
@override
void initState() {
super.initState();
futureVersionHistory = VersionService().fetchVersionHistory();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Version History'),
),
body: FutureBuilder<List<VersionHistory>>(
future: futureVersionHistory,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasError) {
return Center(
child: Text('Error: ${snapshot.error}'),
);
} else {
List<VersionHistory> versionHistoryList = snapshot.data!;
return ListView.builder(
itemCount: versionHistoryList.length,
itemBuilder: (context, index) {
VersionHistory versionHistory = versionHistoryList[index];
return Card(
child: ListTile(
title: Text('Version ${versionHistory.version}'),
subtitle: Text('Released on ${versionHistory.releaseDate}\n${versionHistory.notes}'),
),
);
},
);
}
} else {
return Center(
child: CircularProgressIndicator(),
);
}
},
),
);
}
}
这个示例展示了如何从本地 JSON 文件读取版本历史记录,并在Flutter应用中展示它们。如果你的 revisions
插件有特定的功能需求(如版本回滚等),你可能需要根据具体需求进一步扩展这个示例。不过,上面的代码提供了一个基础框架,可以帮助你开始管理和展示版本信息。