flutter_dio_module 1.0.0 copy "flutter_dio_module: ^1.0.0" to clipboard
flutter_dio_module: ^1.0.0 copied to clipboard

outdated

A new Flutter module flutter_dio_module.

flutter_dio_module #

A new Flutter module.

Getting Started #

For help getting started with Flutter, view our online documentation.

For instructions integrating Flutter modules to your existing applications, see the add-to-app documentation.

网络库dio二次封装以及简单使用 https://blog.csdn.net/jay100500/article/details/88386470 https://www.imooc.com/article/315143 https://www.jianshu.com/p/6398f9971a36 https://www.jianshu.com/p/dd0b0f3b6065

Json解析 #

解析方式有别于android解析,对序列化和反序列化进行解析.

1.解析JSON and serialization 这种方式处理起来比较麻烦需要手动敲字段获取数据. 2.可以通过三方网站实现bean类的实现documentation.

使用方法

    /*先将字符串转成json*/
    Map<String, dynamic> json = jsonDecode(jsonData);
    /*将Json转成实体类*/
    NewsBean newsBean=NewsBean.fromJson(news);
    /*取值*/
    String sats = newsBean.result.stat;

3.比较方便一点AS导入插件FlutterJsonBeanFactory通过插件直接去生成对应bean不需要手动更改推荐此方案.

使用方法 插件导入之后,json数据放入插件点击保存就可以了.

https://blog.csdn.net/yuzhiqiang_1993/article/details/88533166

网络请求使用方法 #

RxDio模式解析 此方式不建议使用复用较困难 #

    //RX dio模式请求网络
    RxDio<BaseBean<ConfigBeanEntity>>()
      ..setUrl(Constants.CONFIG)
      ..setRequestMethod(Method.Get)
      ..setParams(null)
      ..setCacheMode(CacheMode.REQUEST_FAILED_READ_CACHE)
      ..setJsonTransFrom((data) {
        if (data != null) {
          Map<String, dynamic> map = json.decode(data);
          return BaseBean<ConfigBeanEntity>.fromJson(map);
        }
        return BaseBean<ConfigBeanEntity>.fromJson(new Map());
      })
      ..call(new CallBack(onNetFinish: (data) {
        print("网络请求返回数据:" + data.data!.gurl);
      },
      onCacheFinish: (data){
        print("缓存数据返回:" + data.data!.gurl);
      }));

观察者模式 泛型解析 #

//Stream支持,默认多订阅模式 Stream.asBroadcastStream()可以将一个单订阅模式的 Stream 转换成一个多订阅模式的 Stream isBroadcast 属性可以判断当前 Stream 所处的模式
//assert(stream.isBroadcast == false);
//stream.first.then(print);
//stream.last.then(print);// Bad state: Stream already has subscriber.

 ApiService()
        .getResponse<WanbeanEntity>(Constants.config, null, Method.Get)
        .listen((data) {
      print("Stream 流结果: " + data.datas.toString());
    });


//Future 方式
    ApiService()
        .getFutureResponse<WanbeanEntity>(Constants.config, null, Method.Get)
        .then((value) => {print("Future 结果: " + value.toString())});
1
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A new Flutter module flutter_dio_module.

Homepage

License

unknown (LICENSE)

Dependencies

convert, crypto, cupertino_icons, dio, flutter, json_annotation, path, rxdart, sqflite

More

Packages that depend on flutter_dio_module