Flutter基金管理App| 8月更文挑战

基于Flutter写的基金管理app

整体只有三个页面,首页的收藏列表,点击列表进入的详情页,和搜索页面,整个项目没有使用 StatefulWidget,所有状态均使用Provider进行管理(其实是不会用statefulwidget,这种设计使用起来很难受,很难想象是google设计的)

基于iphone11pro做的适配,如果需要打包Android或其他可能需要简单的调整 仅供学习使用,源代码 https://github.com/NoBugBoy/jj 喜欢可以点一个star谢谢

首页会显示大盘信息,以及收藏的基金

数据会缓存到sharedPreferences,重启APP不会丢,页面下拉可以刷新列表的数值,配置了1.5秒刷新一次的定时器,会自动刷新页面

在这里插入图片描述

在页面的列表左右滑动可以删除收藏,使用provider进行状态管理

Future getList(){ Future f = matchJJName(); f.then((value) => { dataList = value, notifyListeners() }); 整个App的数据来源是爬的天天基金的Api ``` Future > matchJJName() async { Uri uri1 = Uri.parse(URL); var request1 = await httpClient.getUrl(uri1); var response1 = await request1.close(); String responseBody1 = await response1.transform(utf8.decoder).join(); int begin = responseBody1.indexOf("diff")+6; String newstr = responseBody1.substring(begin,responseBody1.length-2); var dplsit = json.decode(newstr); this.dplsit = dplsit;

String code = this.codes.join(","); Uri uri = Uri.parse(URL); var request = await httpClient.getUrl(uri); var response = await request.close(); String responseBody = await response.transform(utf8.decoder).join(); String newStr = responseBody.substring(17); newStr = newStr.substring(0,newStr.length-3); List split = newStr.split(""");

int i =0;
List<Map> list = List();
for (String value in split) {
    if(i%2 == 0){
      List<String> model = value.split(",");
      Map m = new Map();
      m.addEntries({
        MapEntry("code", model[0]),
        MapEntry("name", model[1]),
        MapEntry("jz", model[4]),
        MapEntry("zdf", model[5]),
        MapEntry("now", model[6]),
      });
      list.add(m);
    }
    i++;
}
return list;

} ```

详情页面

点击列表会进入该基金的详情,显示历史每日的涨跌幅(从创建基金开始到今天全部的数据),收益率等信息

在这里插入图片描述

在首页右上角的加号可以进入搜索(模糊匹配),点击加入即可加入到首页中,此时会保存到sharedPreferences,下次打开app依然存在这些数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值