Flutter插件adderlink的特性与使用方法
Flutter插件adderlink的特性与使用方法
Flutter插件adderlink的特性
Adderlink Infinity系列
- ✅ 登录
- ✅ 注销
- ✅ 获取设备列表
- ✅ 获取通道列表
- ❌ 获取预设
- ✅ 连接通道
- ❌ 连接到预设
- ✅ 断开通道连接
- ❌ 创建预设
- ❌ 删除预设
- ❌ 创建通道
- ✅ 获取所有USB设备
- ❌ 删除USB设备
- ❌ 更新USB设备
- ✅ 连接USB设备
- ✅ 断开USB设备连接
- ✅ 重启设备
- ❌ 替换设备
- ❌ 获取服务器
- ❌ 设备识别
Flutter插件adderlink的使用方法
import 'package:adderlink/adderlink.dart';
Future<void> main() async {
final chopper = ChopperClient(
baseUrl: Uri.parse("http://192.168.1.100"),
converter: AlifConverter(),
);
var adderlink = AdderlinkService.create(chopper);
// 使用用户名和密码登录
final l = await adderlink.login(
username: '', // 请替换为实际的用户名
password: '', // 请替换为实际的密码
);
final token = l.body?.body?.token;
if (token == null) throw Exception('Failed to retrieve token');
try {
// 获取所有ALIF设备列表
var devices = await adderlink.getDevices(token: token);
// 打印每个扩展器的数据到控制台
devices.body?.body?.devices.device.forEach(print);
} catch (e) {
print(e);
} finally {
// 注销以确保令牌不会保持活动状态并阻塞认证缓冲区
final lr = await adderlink.logout(token: token);
print(lr.body.toString());
}
}
额外信息
问题和功能请求可以在这里提交:此处。
API 是根据官方的 Adderlink API 文档 创建的。
完整示例Demo
以下是一个完整的示例Demo,展示了如何使用adderlink插件来控制Adderlink设备:
import 'package:flutter/material.dart';
import 'package:adderlink/adderlink.dart';
import 'package:chopper/chopper.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Adderlink Example')),
body: Center(child: Text('Check Console for Output')),
),
);
}
}
class AdderlinkExample extends StatefulWidget {
[@override](/user/override)
_AdderlinkExampleState createState() => _AdderlinkExampleState();
}
class _AdderlinkExampleState extends State<AdderlinkExample> {
String output = '';
[@override](/user/override)
void initState() {
super.initState();
runAdderlinkExample();
}
Future<void> runAdderlinkExample() async {
final chopper = ChopperClient(
baseUrl: Uri.parse("http://192.168.1.100"),
converter: AlifConverter(),
);
var adderlink = AdderlinkService.create(chopper);
// 使用用户名和密码登录
final l = await adderlink.login(
username: '', // 请替换为实际的用户名
password: '', // 请替换为实际的密码
);
final token = l.body?.body?.token;
if (token == null) {
setState(() {
output = 'Failed to retrieve token';
});
return;
}
try {
// 获取所有ALIF设备列表
var devices = await adderlink.getDevices(token: token);
// 打印每个扩展器的数据到控制台
final deviceData = devices.body?.body?.devices.device;
if (deviceData != null) {
setState(() {
output = deviceData.map((d) => d.toString()).join('\n');
});
} else {
setState(() {
output = 'No devices found';
});
}
} catch (e) {
setState(() {
output = e.toString();
});
} finally {
// 注销以确保令牌不会保持活动状态并阻塞认证缓冲区
final lr = await adderlink.logout(token: token);
print(lr.body.toString());
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(output),
],
);
}
}
// 在主应用中添加此示例
class MyHomePage extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Adderlink Example')),
body: AdderlinkExample(),
);
}
}
更多关于Flutter插件adderlink的特性与使用方法的实战教程也可以访问 https://www.itying.com/category-92-b0.html