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. highcharts图表组件常见问题:highcharts图表组件错误集合分析大放送
  2. IntelliJ IDEA 2019.2最新解读:性能更好,体验更优,细节处理更完美!
  3. java中的构造方法,this、super的用法
  4. unity 角度限制_Unity自定义可编程渲染管线(SRP)(九)——灯光照明
  5. geth JavaScript Console
  6. html中的标签在xml中被识别为什么,在strings.xml中定义html标签
  7. es6语法-箭头函数
  8. js,html条码生成
  9. Java—JVM加载机制
  10. Spring-Logback-动态修改日志级别
  11. 汇编程序设计语言所用环境MASM的使用
  12. 计算机汉字的输入方法有哪些,《计算机汉字输入方法.ppt
  13. linux 实现不同网段网络互通
  14. Javascript-API-BOM、动画函数、网页轮播图、节流阀、筋斗云、固定侧边栏返回顶部案例
  15. xml与map的相互转换
  16. POJ 2152 树型DP //很棒的题
  17. Lua--pairs和ipairs遍历区别
  18. DLL线程中坑爹的Synchronize?
  19. javascript实现单向链表
  20. 工业锅炉远程监控解决方案

热门文章

  1. revit 二次开发 模型线读取
  2. 2020数学建模医疗和养老保障问题解决办法
  3. php燕十八作业,布尔教育燕十八PHP基础巩固视频教程的源码分享
  4. 浅谈C++的函数重载
  5. 12. 深度学习三巨头
  6. 动态修改webservices地址 地址重载
  7. 展会预告丨第五届数字中国建设成果展览会亮点前瞻:大象机器人展示高科技,带来新体验
  8. android实训项目无线点餐系统服务器的设置,实现Android客户端软件与云计算的无线点餐系统设计...
  9. 杨辉三角c语言杭电,杭电 杨辉三角
  10. 微信小程序 小程序生命周期、页面导航/事件、WXS脚本(笔记)