Flutter 中 ListView 的使用,Android性能优化之启动优化实战篇

这篇博客分享了在Flutter中使用ListView的详细过程,包括JSON数据结构解析、Item结构设计以及功能实现,如material库、Json解析、网络请求和加载菊花。同时,文章提到了Android应用启动优化的实战经验,提供了学习和面试的参考资料。
摘要由CSDN通过智能技术生成

前言

金九银十跳槽季接近尾声了,可是今年仍然不太好找工作,相信大家肯定急需一套Android面试宝典,下面就分享给大家我珍藏已久的Android高阶面试宝典,供大家学习 !

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UmWROJg5-1649664355205)(https://user-gold-cdn.xitu.io/2018/7/26/164d54f7d8bfc994?imageView2/0/w/1280/h/960/ignore-error/1)]

JSON 数据结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J5OE2GIq-1649664355206)(https://user-gold-cdn.xitu.io/2018/7/26/164d5539c9483d23?imageView2/0/w/1280/h/960/ignore-error/1)]

Item 结构

Item 的结构是一个 Card 包含着一个 Row 然后这个 Row 里面左边是一个 Image,右边是一个 Column

功能实现
  • material 库
  • Json 解析
  • 网络请求
  • 加载菊花

要实现上面四个功能,我们首先需要在 .dart 文件中引入如下代码

import ‘dart:convert’;
import ‘package:http/http.dart’ as http;
import ‘package:flutter/material.dart’;
import ‘package:flutter/cupertino.dart’;

网络请求

loadData() async {
String loadRUL = “https://api.douban.com/v2/movie/in_theaters”;
http.Response response = await http.get(loadRUL);
var result = json.decode(response.body);
setState(() {
title = result[‘title’];
print(‘title: $title’);
subjects = result[‘subjects’];
});
}

ListView && 加载菊花

getBody() {
if (subjects.length != 0) {
return ListView.builder(
itemCount: subjects.length,
itemBuilder: (BuildContext context, int position) {
return getItem(subjects[position]);
});
} else {
// 加载菊花
return CupertinoActivityIndicator();
}
}

Item编写

getItem(var subject) {
// 演员列表
var avatars = List.generate(subject[‘casts’].length, (int index) =>
Container(
margin: EdgeInsets.only(left: index.toDouble() == 0.0 ? 0.0 : 16.0),

child: CircleAvatar(
backgroundColor: Colors.white10,
backgroundImage: NetworkImage(
subject[‘casts’][index][‘avatars’][‘small’]
)
),

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源

Android优秀开源项目:

  • ali1024.coding.net/public/P7/Android/git

总结

可以看出,笔者的工作学习模式便是由以下 「六个要点」 组成:

❝ 多层次的工作/学习计划 + 番茄工作法 + 定额工作法 + 批处理 + 多任务并行 + 图层工作法❞

希望大家能将这些要点融入自己的工作学习当中,我相信一定会工作与学习地更富有成效。

下面是我学习用到的一些书籍学习导图,以及系统的学习资料。每一个知识点,都有对应的导图,学习的资料,视频,面试题目。

**如:我需要学习 **Flutter的知识。(大家可以参考我的学习方法)

  • Flutter 的思维导图(无论学习什么,有学习路线都会事半功倍)

  • Flutter进阶学习全套手册

  • Flutter进阶学习全套视频

大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。
7)]

  • Flutter进阶学习全套视频

[外链图片转存中…(img-mfJgl6cU-1649664355208)]

大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值