Flutter33,Android移动开发基础
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移动开发基础相关推荐
- android界面数据存储,Android应用开发基础之数据存储和界面展现(二)
Android应用开发基础之数据存储和界面展现(二) 常见布局 相对布局 RelativeLayout 组件默认左对齐.顶部对齐 设置组件在指定组件的右边 android:layout_toRight ...
- android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...
Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...
- Android视频开发基础
Android视频开发基础 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6205 ...
- 音视频开发(19)---Android视频开发基础(一)
Android视频开发基础(一) 版权声明:本文为[viclee]原创,如需转载请注明出处~ https://blog.csdn.net/goodlixueyong/article/details/6 ...
- Android视频开发基础(二)
Android视频开发基础(二) https://blog.csdn.net/goodlixueyong/article/details/62447452 前一篇文章详细介绍了视频的一些基本概念,这些 ...
- Android App开发基础
Android App开发基础 App的开发特点 (1)App的运行环境 1.使用数据线把手机连到电脑上 2.在电脑上安装手机的驱动程序 3.打开手机的开发者选项并启用USB调试 4.将连接的手机设为 ...
- 湖南某科技大学 安卓Android移动开发基础期中考试笔记(持续更新)
湖南某科技大学 安卓Android移动开发基础期中考试笔记 前言 建议大家把第三章的三个实战演练和本笔记的所有代码部分都在AS中手打一遍,手打的意思是看懂之后自己写出来,而不是照着抄.这不90分就到手 ...
- Android App开发基础篇—数据存储(SQLite数据库)
Android App开发基础篇-数据存储(SQLite数据库) 前言:Android中提供了对SQLite数据库的支持.开发人员可以在应用中创建和操作自己的数据库来存储数据,并对数据进行操作. 一. ...
- 浅谈Android游戏开发基础和经验
Android游戏开发基础和经验是本文要介绍的内容,主要是来了解并学习Android游戏开发的内容实例,具体关于Android游戏开发内容的详解来看本文. 做一个类似俄罗斯方块的android游戏开发 ...
- 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第二章:Android App 开发基础
第 2 章 Android App开发基础 本章介绍基于Android系统的App开发常识,包括以下几个方面:App开发与其他软件开发有什么不一 样,App工程是怎样的组织结构又是怎样配置的,App开 ...
最新文章
- php使用 js格式解析,php 无限级数据JSON格式及JS解析_PHP教程
- ios 接收 c# socket udp 组播
- NYOJ-括号配对问题 技巧性的非栈道法
- java后台如何实现让用户可以在页面修改数据表_长见识了,Kotlin + SpringBoot + JPA 整合开发比Java更爽......
- scala和java像不像_关于Java和Scala同步的五件事你不知道
- 不重复int数组里找不存在的值
- Atitit 文档资料管理同步解决方案
- 公式编辑器MathType中矩阵模板的使用技巧
- img 图片找不到时,设置显示默认图片
- 营业执照、组织机构代码、统一社会信用代码
- vue富文本编辑器组件
- 什么是模拟信号?数字信号?区别是什么?它们又是如何完成转换的?
- 小米路由器Mesh,信号有多牛?
- java宠物之王-龙灵传说_宠物之王龙灵传说闯关秘籍
- 三种方法进行图片锐化
- Jenkins部署项目时,git报错fatal: index file smaller than expected
- 天河超级计算机观后感,“天河一号”超级计算机读后感
- Laplace(拉普拉斯)先验与L1正则化
- 五福背后的 Web 3D 引擎 Oasis Engine 正式开源
- C++实现图形界面五子棋游戏源码