写点什么

打造一个完整的 Flutter-APP 项目!,安卓高级开发面试题

用户头像
Android架构
关注
发布于: 47 分钟前

作者:Sky24n 链接:[https://www.jianshu


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


.com/p/4230654a101c](


)


Flutter 版 WanAndroid App,旨在打造一款完整的 Flutter 应用项目。


包含启动页,引导页,主题色切换,应用国际化多语言,版本更新等功能,项目主框架采用响应式编程 RxDart 和 BLoC,由于目前项目功能尚未完善,代码还有待优化,后续项目重构整理好后,会全部开源出来,敬请期待!欢迎下载体验。


有关项目最新动态,可以关注 App 内第一条 Hot Item 信息。

网络框架 DioUtil,屏幕适配 ScreenUtil

**[Flutter 常用工具类库 flustars](


)**


v0.1.6(2018.12.20)新增网络请求工具 DioUtil, 单例模式,可输出请求日志。


// 打开 debug 模式.DioUtil.openDebug();


// 配置网络参数.Options options = DioUtil.getDefOptions();options.baseUrl = "http://www.wanandroid.com/";HttpConfig config = new HttpConfig(options: options);DioUtil().setConfig(config);


// 两种单例请求方式.DioUtil().request<List>(Method.get, "banner/json");DioUtil.getInstance().request(Method.get, "banner/json");


//示例 LoginReq req = new LoginReq('username', 'password');DioUtil().request(Method.post, "user/login",data: req.toJson());


//示例 FormData formData = new FormData.from({"username": "username","password": "password",});DioUtil().requestR(Method.post, "user/login",data: rformData);


//解析示例 class WanRepository {Future<List<BannerModel>> getBanner() async {BaseResp<List> baseResp = await DioUtil().request<List>(Method.get, WanAndroidApi.getPath(path: WanAndroidApi.BANNER));List<BannerModel> bannerList;if (baseResp.code != Constant.STATUS_SUCCESS) {return new Future.error(baseResp.msg);}if (baseResp.data != null) {bannerList = baseResp.data.map((value) {return BannerModel.fromJson(value);}).toList();}return bannerList;}}


// 网络请求日志


I/flutter ( 5922): ----------------Http Log----------------I/flutter ( 5922): [statusCode]: 200I/flutter ( 5922): [request ]: method: GET baseUrl: http://www.wanandroid.com/ path: lg/collect/list/0/jsonI/flutter ( 5922): [reqdata ]: nullI/flutter ( 5922): [response ]: {data: {curPage: 1, datas: [], offset: 0, over: true, pageCount: 0, size: 20, total: 0}, errorCode: 0, errorMsg: }


v0.1.5(2018.12.14)ScreenUtil 新增屏幕适配,不依赖 context


//如果设计稿尺寸与默认配置一致,无需该设置。 配置设计稿尺寸 默认 360.0 / 640.0 / 3.0setDesignWHD(_designW,_designH,_designD);


//返回根据屏幕宽适配后尺寸(单位 dp or pt)ScreenUtil.getInstance().getWidth(100.0);


ScreenUtil().getWidth(100.0);


//返回根据屏幕高适配后尺寸(单位 dp or pt)ScreenUtil.getInstance().getHeight(100.0);ScreenUtil().getHeight(100.0);


//返回根据屏幕宽适配后字体尺寸 ScreenUtil.getInstance().getSp(12.0);ScreenUtil().getSp(100.0);

已开源

① 网络框架② 闪屏广告页③ 启动页④ 引导页

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
打造一个完整的Flutter-APP项目!,安卓高级开发面试题