void initState() {

// TODO: implement initState

super.initState();

//尝试显示用户信息

_showUerInfo();

eventBus.on().listen((event) {

//TODO

//获取用户信息并显示

_getUerInfo();

});

eventBus.on().listen((event) {

//TODO

});

}

_getUerInfo() {

DataUtils.getAccessToken().then((accessToken){

if (accessToken == null || accessToken.length == 0) {

return;

}

Map<String, dynamic> params = Map<String, dynamic>();

params[‘access_token’] = accessToken;

params[‘dataType’] = ‘json’;

print(‘Debug accessToken: $accessToken’);

NetUtils.get(AppUrls.OPENAPI_USER, params).then((data) {

//{“gender”:“male”,“name”:“Damon2019”,“location”:“湖南 长沙”,“id”:2006874,“avatar”:“https://oscimg.oschina.net/oscnet/up-21zvuaor7bbvi8h2a4g93iv9vve2wrnz.jpg!/both/50x50?t=1554975223000”,“email”:“3262663349@qq.com”,“url”:“https://my.oschina.net/damon007”}

//data: {“gender”:“male”,“name”:“Augfun”,“location”:“广东 深圳”,“id”:4571926,“avatar”:“https://static.oschina.net/uploads/user/2285/4571926_50.jpg?t=1593452705000”,“email”:“1234556@outlook.com”,“url”:“https://my.oschina.net/u/4571926”}

print(‘Debug data: $data’);

//

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

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

Map<String, dynamic> map = json.decode(data);

// if (mounted) {

// setState(() {

// userAvatar = map[‘avatar’];

// userName = map[‘name’];

// });

// }

// DataUtils.saveUserInfo(map);

});

});

}

_showUerInfo() {

}

@override

Widget build(BuildContext context) {

return ListView.separated(

itemBuilder: (context, index) {

//My界面的头部

if(index == 0){

//头像用Container装起来

return _buildHeader();

}

index -= 1;

return ListTile(

leading: Icon(menuIcons[index]),

title: Text(menuTitles[index]),

trailing: Icon(Icons.arrow_forward_ios),//尾巴

onTap: () {

_login();

},

);

},

//分割线

separatorBuilder: (context, index) {

return Divider();

},

itemCount: menuTitles.length + 1

);

}

_login() async {

final result = await Navigator.of(context)

.push(MaterialPageRoute(builder: (context) => LoginWebPage()));

if (result != null && result == ‘refresh’) {

print(‘Debug profile page LoginEvent’);

//登录成功

eventBus.fire(LoginEvent());

}

}

Container _buildHeader() {

return Container(

height: 150.0,

color: Color(AppColors.APP_THEME),

//头像的布局填充

child: Center(

child: Column(

mainAxisAlignment: MainAxisAlignment.center,

children: [

GestureDetector(

child: Container(

width: 60.0,

height: 60.0,

decoration: BoxDecoration(

shape: BoxShape.circle,

border: Border.all(

color: Color(0xffffffff),

width: 2.0,

),

image: DecorationImage(

//加载网路图片

image: AssetImage(‘assets/images/ic_avatar_default.png’),

fit: BoxFit.cover,

),

),

),

onTap: () {

//执行登录

_login();

},

),

SizedBox(

),

Text(

‘点击头像登录’,

style: TextStyle(color: Color(0xffffffff)),

),

],

),

),

);

}

}

Flutter33,Android移动开发基础相关推荐

  1. android界面数据存储,Android应用开发基础之数据存储和界面展现(二)

    Android应用开发基础之数据存储和界面展现(二) 常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRight ...

  2. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  3. Android视频开发基础

    Android视频开发基础 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6205 ...

  4. 音视频开发(19)---Android视频开发基础(一)

    Android视频开发基础(一) 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6 ...

  5. Android视频开发基础(二)

    Android视频开发基础(二) https://blog.csdn.net/goodlixueyong/article/details/62447452 前一篇文章详细介绍了视频的一些基本概念,这些 ...

  6. Android App开发基础

    Android App开发基础 App的开发特点 (1)App的运行环境 1.使用数据线把手机连到电脑上 2.在电脑上安装手机的驱动程序 3.打开手机的开发者选项并启用USB调试 4.将连接的手机设为 ...

  7. 湖南某科技大学 安卓Android移动开发基础期中考试笔记(持续更新)

    湖南某科技大学 安卓Android移动开发基础期中考试笔记 前言 建议大家把第三章的三个实战演练和本笔记的所有代码部分都在AS中手打一遍,手打的意思是看懂之后自己写出来,而不是照着抄.这不90分就到手 ...

  8. Android App开发基础篇—数据存储(SQLite数据库)

    Android App开发基础篇-数据存储(SQLite数据库) 前言:Android中提供了对SQLite数据库的支持.开发人员可以在应用中创建和操作自己的数据库来存储数据,并对数据进行操作. 一. ...

  9. 浅谈Android游戏开发基础和经验

    Android游戏开发基础和经验是本文要介绍的内容,主要是来了解并学习Android游戏开发的内容实例,具体关于Android游戏开发内容的详解来看本文. 做一个类似俄罗斯方块的android游戏开发 ...

  10. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第二章:Android App 开发基础

    第 2 章 Android App开发基础 本章介绍基于Android系统的App开发常识,包括以下几个方面:App开发与其他软件开发有什么不一 样,App工程是怎样的组织结构又是怎样配置的,App开 ...

最新文章

  1. php使用 js格式解析,php 无限级数据JSON格式及JS解析_PHP教程
  2. ios 接收 c# socket udp 组播
  3. NYOJ-括号配对问题 技巧性的非栈道法
  4. java后台如何实现让用户可以在页面修改数据表_长见识了,Kotlin + SpringBoot + JPA 整合开发比Java更爽......
  5. scala和java像不像_关于Java和Scala同步的五件事你不知道
  6. 不重复int数组里找不存在的值
  7. Atitit 文档资料管理同步解决方案
  8. 公式编辑器MathType中矩阵模板的使用技巧
  9. img 图片找不到时,设置显示默认图片
  10. 营业执照、组织机构代码、统一社会信用代码
  11. vue富文本编辑器组件
  12. 什么是模拟信号?数字信号?区别是什么?它们又是如何完成转换的?
  13. 小米路由器Mesh,信号有多牛?
  14. java宠物之王-龙灵传说_宠物之王龙灵传说闯关秘籍
  15. 三种方法进行图片锐化
  16. Jenkins部署项目时,git报错fatal: index file smaller than expected
  17. 天河超级计算机观后感,“天河一号”超级计算机读后感
  18. Laplace(拉普拉斯)先验与L1正则化
  19. 五福背后的 Web 3D 引擎 Oasis Engine 正式开源
  20. C++实现图形界面五子棋游戏源码

热门文章

  1. 全新IT资源内控安全解决方案
  2. deepinV20一路艰辛系列六:更新微信到最新版本
  3. 李昌镐:苍老的青春(转载)
  4. 抢跑抖音 中国短视频第一股海外市场将如何布局?
  5. 手机相机好坏测试软件,教你一分钟教你看懂手机拍照好坏!
  6. MATLAB | 面积图、饼状图、水平柱状图的斜线填充(阴影填充)
  7. Qt开发技术:QDBus介绍、编译与Demo
  8. 汇编原理自我总结 (二)
  9. 关于AML芯片电视,风行刷机包的自定义和去广告的研究
  10. 为PLOG增加了三套模板