小编abo*_*rak的帖子

尝试在颤振中访问 Hive 数据库时,“联系人”框已打开且类型为 Box<Contact>

我在 main 中初始化了 box 数据库如下

void main() async {
    WidgetsFlutterBinding.ensureInitialized();
    final appDocumentDirectory = await path_provider.getApplicationDocumentsDirectory();
    Hive.init(appDocumentDirectory.path);
    Hive.registerAdapter(ContactAdapter());
    runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)

然后我使用 FutureBuilder 插件在材料应用程序中打开框,如下所示:

  FutureBuilder(
      future: Hive.openBox<Contact>('contacts'),
      builder: (context, snapshot) {
        if(snapshot.connectionState == ConnectionState.done){
          if(snapshot.hasError){
            return Text(snapshot.error.toString() );
          }
          return ContactPage();
        } else {
          return Scaffold();
        }
      }
    ),
Run Code Online (Sandbox Code Playgroud)

和里面 ContactPage()

我创建了这个:-

  ValueListenableBuilder(
                valueListenable: Hive.box<Contact>('contacts').listenable(),
                builder: (context,Box<Contact> box,_){
                  if(box.values.isEmpty){
                    return Text('data is empty');
                  } else {
                    return ListView.builder(
                      itemCount: box.values.length,
                      itemBuilder: (context,index){
                        var contact = box.getAt(index);
                        return ListTile(
                          title: Text(contact.name),
                          subtitle: Text(contact.age.toString()), …
Run Code Online (Sandbox Code Playgroud)

database flutter flutter-hive

5
推荐指数
2
解决办法
4632
查看次数

尝试为flutter_web项目提供服务时,无法创建本地服务器(地址已在使用中)

我尝试通过此终端命令在本地启动Flutter Web项目

 webdev serve --auto restart
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误消息

    Starting resource servers...Unhandled exception:
SocketException: Failed to create server socket (OS Error: Address already in use, errno = 48), address = 127.0.0.1, port = 8080
#0      _NativeSocket.bind (dart:io-patch/socket_patch.dart:591:7)
<asynchronous suspension>
#1      _RawServerSocket.bind (dart:io-patch/socket_patch.dart:1206:26)
#2      _ServerSocket.bind (dart:io-patch/socket_patch.dart:1466:29)
#3      ServerSocket.bind (dart:io-patch/socket_patch.dart:1457:26)
#4      _HttpServer.bind (dart:_http/http_impl.dart:2520:25)
#5      HttpServer.bind (dart:_http:227:19)
#6      HttpMultiServer.loopback.<anonymous closure> (package:http_multi_server/http_multi_server.dart:113:39)
#7      HttpMultiServer._loopback (package:http_multi_server/http_multi_server.dart:172:30)
<asynchronous suspension>
#8      HttpMultiServer.loopback (package:http_multi_server/http_multi_server.dart:111:12)
#9      WebDevServer.start (package:webdev/src/serve/webdev_server.dart:83:33)
#10     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:49:6)
#11     WebDevServer.start (package:webdev/src/serve/webdev_server.dart:54:36)
#12     ServerManager.start (package:webdev/src/serve/server_manager.dart:22:38)
#13     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:49:6)
#14 …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-web

2
推荐指数
1
解决办法
308
查看次数

标签 统计

flutter ×2

dart ×1

database ×1

flutter-hive ×1

flutter-web ×1