Flutter 仿滴滴出行App

本文介绍了使用Flutter开发仿照滴滴出行的App,重点展示了集成高德地图、实现基础功能、AzListView列表组件、SpUtil和ScreenUtil工具类的使用,以及国际化处理。同时提供了面试准备资源,包括Android高级面试题和移动架构资料。
摘要由CSDN通过智能技术生成

Flutter 仿滴滴出行App
地图:采用高德地图,仅简单完成了部分功能,基础地图,地址检索,逆地理编码。
界面:仿滴滴主界面,地图中心请求动效果,服务tabs展开效果,地址检索界面,城市列表界面。
项目结构:详见作者另外一个Flutter完整项目flutter_wanandroid。🔥🔥🔥
目前本项目仅部分开源~
已开源内容:
1、Dart汉字转拼音库 lpinyin
2、城市列表,索引&悬停效果 AzListView
3、也许是目前最好用的Sp工具类 SpUtil
4、也许是目前最好用的屏幕工具类 ScreenUtil
5、国际化 fluintl
6、Dart常用工具类库 common_utils

lpinyin

import ‘package:lpinyin/lpinyin.dart’;

String pinyin = PinyinHelper.getPinyin(“成都市”);

AzListView

import ‘package:azlistview/azlistview.dart’;

AzListView(
{Key key,
this.data,
this.topData,
this.itemBuilder,
this.suspensionWidget,
this.isUseRealIndex: true,
this.itemHeight: 50,
this.suspensionHeight: 40,
this.onSusTagChanged,
this.header,
this.indexBarBuilder,
this.indexHintBuilder,
this.showIndexHint: true});

SpUtil

详细使用请参考仓库说明。

import ‘package:flustars/flustars.dart’;

// App启动时读取Sp数据,需要异步等待Sp初始化完成。
await SpUtil.getInstance();

SpUtil.getString(‘key’, defValue: ‘’);
SpUtil.getInt(‘key’, defValue: 0);

/// save object example.
/// 存储实体对象示例。
City city = new City();
city.name = “成都市”;
SpUtil.putObject(“loc_city”, city);

Map dataStr = SpUtil.getObject(“loc_city”);
City hisCity = dataStr == null ? null : City.fromJson(dataStr);
print("thll Str: " + (hisCity == null ? “null” : hisCity.toString()));

/// save object list example.
/// 存储实体对象List示例。
List list = new List();
list.add(new City(name: “成都市”));
list.add(new City(name: “北京市”));
SpUtil.putObjectList(“loc_city_list”, list);

List dataList = SpUtil.getObjectList(“loc_city_list”);
List _cityList = dataList?.map((value) {
return City.fromJson(value);
})?.toList();

print("thll List: " + (_cityList == null ? “null” : _cityList.toString()));

ScreenUtil

详细使用请参考仓库说明。

import ‘package:flustars/flustars.dart’;

// 如果设计稿尺寸默认配置一致,无需该设置。 配置设计稿尺寸 默认 360.0 / 640.0 / 3.0
setDesignWHD(_designW,_designH,_designD);

// 不依赖context
// 屏幕宽
double screenWidth = ScreenUtil.getInstance().screenWidth;
// 根据屏幕宽适配后尺寸
double adapterW100 = ScreenUtil.getInstance().getWidth(100);

// 依赖context
// 屏幕宽
double screenWidth = ScreenUtil.getScreenW(context);
// 根据屏幕宽适配后尺寸
double adapterW100 = ScreenUtil.getScaleW(context, 100);

fluintl

详细使用请参考仓库说明。

import ‘package:fluintl/fluintl.dart’;

/// 替换字符串格式要求:‘%${index}$s’ ,{index} 第几个参数,从0开始。

Ids.click_times: ‘%$0$s点击了%$1$s次’;

文末

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。

这里放上一部分我工作以来以及参与过的大大小小的面试收集总结出来的相关的几十套腾讯、头条、阿里、美团等公司21年的面试专题,其中把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【延伸Android必备知识点】

这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
oid系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值