Flutter年龄识别插件flutter_agify的使用
Flutter年龄识别插件flutter_agify的使用
flutter_agify
一个可以从Agify.io API获取数据的Flutter插件,可以预测你的年龄!
注意: 我想明确表示,**我不拥有Agify.io API,并且该插件的唯一目的是使使用Agify.io API变得简单。
API网站
这里是Agify.io的官方API网站:
如何使用
flutter_agify
提供了4个函数来从Agify.io API响应中获取信息。它们分别是:
getAge() // 获取单个名字的年龄数据。`name`参数是必需的,`apiKey`参数是可选的。
getAges() // 获取多个名字的年龄数据。`names`参数是必需的,`apiKey`参数是可选的。
getAgeWithCountry() // 获取单个名字的年龄数据并提供国家。`name`和`country`参数是必需的,`apiKey`参数是可选的。
getAgesWithCountry() // 获取多个名字的年龄数据并提供国家。`names`和`country`参数是必需的,`apiKey`参数是可选的。
- 如果你需要检查超过1000个名字/天,你需要获得一个API密钥。要获取API密钥,请访问https://store.agify.io/。
- 注意: 如果你打算使用
getAgeWithCountry()
或getAgesWithCountry()
,请记住Agify.io API遵循ISO 3166-1 alpha-2
格式的国家代码。有关所有支持的国家列表,请参阅https://agify.io/our-data。
返回类型
-
getAge()
返回一个Map
,形式如下:{"Name": _name, "Age": age, "Count": count}
,如果API响应错误,则会抛出异常。 -
getAges()
返回jsonDecode(apiResponse.body)
,这是一个包含每个提供的名字的年龄数据的List
,如果API响应错误,则会抛出异常。 -
getAgeWithCountry()
返回一个Map
,形式如下:{"Name": _name, "Age": age, "Count": count, "Country": _country}
,如果API响应错误,则会抛出异常。 -
getAgesWithCountry()
返回jsonDecode(apiResponse.body)
,这是一个包含每个提供的名字的年龄数据的List
,如果API响应错误,则会抛出异常。
代码示例
以下是一个使用getAge()
的例子:
class Homepage extends StatefulWidget {
const Homepage({Key? key}) : super(key: key);
@override
State<Homepage> createState() => _HomepageState();
}
class _HomepageState extends State<Homepage> {
Future<dynamic>? target;
@override
void initState() {
target = getAge(name: "Peter");
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FutureBuilder<dynamic>(
future: target,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasError) {
return Text(
'${snapshot.error} 发生了',
style: TextStyle(fontSize: 19, color: Colors.white),
);
} else if (snapshot.hasData) {
final data = snapshot.data;
return Container(
alignment: Alignment.center,
height: 400,
width: 600,
color: Color(0xFF12202F),
child: Text(
"预测的 ${data["Name"]} 的年龄是 ${data["Age"]}",
style: TextStyle(fontSize: 19, color: Colors.white),
),
);
}
}
return SizedBox(
height: 50,
width: 50,
child: CircularProgressIndicator(),
);
}),
));
}
}
输出
以下是上述代码的输出结果:
使用方法
要使用此包,请在pubspec.yaml
文件中添加依赖项:
dependencies:
flutter:
sdk: flutter
flutter_agify:
更多关于Flutter年龄识别插件flutter_agify的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter年龄识别插件flutter_agify的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_agify
是一个用于根据姓名预测年龄的 Flutter 插件。它基于 Agify.io API,该 API 通过分析全球范围内的姓名数据来预测一个人的年龄。虽然这个预测并不总是准确的,但它可以作为一个有趣的工具来估计年龄。
以下是如何在 Flutter 项目中使用 flutter_agify
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 flutter_agify
插件的依赖。
dependencies:
flutter:
sdk: flutter
flutter_agify: ^0.0.1 # 请查看最新的版本号
然后运行 flutter pub get
来获取依赖。
2. 导入包
在需要使用 flutter_agify
的 Dart 文件中导入包:
import 'package:flutter_agify/flutter_agify.dart';
3. 使用 Agify 插件
你可以使用 Agify
类来获取预测的年龄。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:flutter_agify/flutter_agify.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: AgePredictor(),
);
}
}
class AgePredictor extends StatefulWidget {
[@override](/user/override)
_AgePredictorState createState() => _AgePredictorState();
}
class _AgePredictorState extends State<AgePredictor> {
String _name = '';
int _age = 0;
Future<void> _predictAge() async {
try {
final agify = Agify();
final age = await agify.getAge(_name);
setState(() {
_age = age;
});
} catch (e) {
print('Error: $e');
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Age Predictor'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
decoration: InputDecoration(
labelText: 'Enter a name',
),
onChanged: (value) {
setState(() {
_name = value;
});
},
),
SizedBox(height: 20),
ElevatedButton(
onPressed: _predictAge,
child: Text('Predict Age'),
),
SizedBox(height: 20),
Text('Predicted Age: $_age'),
],
),
),
);
}
}