王 哪跑!!!
分享技术所想,分享技术所用,分享技术所感
展开
-
Flutter 插件之http(介绍、使用、二次封装)
在Flutter中使用http插件进行HTTP请求和文件操作是比较常见和方便的。接下来详细展示如何使用http插件实现携带Token进行后台校验,以及支持P请求方法,同时包括文件上传功能。通过使用http插件,你可以在Flutter应用中方便地实现携带Token进行后台校验、支持各种HTTP请求方法()以及文件上传功能。记得替换示例中的URL、Token和文件路径为实际的值,并根据具体需求处理请求和响应。这些功能可以帮助你构建功能强大的移动应用程序,与后端安全地通信。原创 2024-08-02 11:16:24 · 310 阅读 · 0 评论 -
Flutter 插件之 easy_refresh(下拉刷新、上拉加载)
Flutter 插件 easy_refresh是一个专门用于实现下拉刷新和上拉加载更多功能的插件,相比于 Flutter 原生的 RefreshIndicator提供了更多的定制选项和更加流畅的用户体验。原创 2024-07-22 14:03:25 · 620 阅读 · 1 评论 -
Flutter 插件之 package_info_plus
当使用Flutter开发应用时,通常需要获取应用程序的基本信息,例如包名、版本号和构建号。Flutter提供了一个名为的插件,它能方便地帮助我们获取这些信息。原创 2024-07-18 11:36:44 · 576 阅读 · 0 评论 -
深入探索Flutter中的状态管理:使用Provider库
当涉及Flutter状态管理时,provider是一个强大且灵活的解决方案,它提供了一种简单且高效的方式来管理应用程序状态。本文将详细介绍Flutter中provider插件的使用方法、示例代码、各种使用场景以及注意事项。原创 2024-07-18 11:12:12 · 992 阅读 · 0 评论 -
Flutter GetX 之 暗黑模式
我们紧接上篇文章,今天继续讲解一下强大的的另一个功能,就是,在开始苹果的应用慢慢的都开始适配,andr。oid 也慢慢的 开始跟进,截止到目前,商店的大部分应用都已经完成了的适配。原生开发为我们提供对应的 API,那么Flutter呢?从上面代码可以看出,我们需要创建对应的主题颜色数据,具体都定义哪些我们可以查看ThemeData源码,这里就不做过多介绍了。下面我着重讲解一下GetX 如何完成暗黑模式的适配。原创 2024-02-26 11:37:00 · 849 阅读 · 0 评论 -
Flutter GetX 之 国际化
打开插件网站,搜索 get 插件 进行引用Flutter 插件社区然后执行pub get进行引用。原创 2024-01-16 14:56:24 · 778 阅读 · 0 评论 -
Flutter GetX 之 状态管理
打开插件网站,搜索 get 插件 进行引用http://Flutter 插件网然后执行pub get进行引用。原创 2024-01-09 13:54:18 · 1723 阅读 · 0 评论 -
Flutter GetX 之 路由管理
路由管理是插件GetX常用功能之一,为什么说之一呢?因为GetX的功能远不止路由管理这么简单。其实上面功能介绍的还是不够详细,GetX还支持网络请求等今天主要介绍一下GetX的路由管理首先需要将Flutter项目入口替换成GetX提供的,代码示例如下:旧新接下来就是创建路由管理类下面是路由管理类的完整代码我们将路由管理设置完以后,下面就是路由注入了,注入代码简单,便是将pages放入到的getPages中即可。到此就完成了路由管理的配置,下面介绍一下路由的使用,介绍方式将会以使用优先级介绍。原创 2024-01-05 16:15:22 · 1232 阅读 · 1 评论 -
Flutter MQTT连接并使用
下面就是我对Flutter MQTT 的简单实用并,这里为方便大家使用 ,我封装了一个MQTT管理类,代码如下,功能介绍也写在 代码注释中。以上就是MQTT工具类的封装,每个方法都有对应的注释,具体都什么作用就不做过多介绍,下面着重介绍一下使用。注意:Flutter 开发环境为 2.8.0,如果版本 存在差别,要略微 修改。再开过程中我们经常使用到MQTT 进行 订阅,来进行 消息的发送、接受等操作。到此就完成了MQTT封装和使用,希望对大家有所帮助。原创 2022-09-07 14:04:49 · 1564 阅读 · 1 评论 -
Flutter 手机缓存内容的获取和删除
Flutter 手机缓存内容的获取和删除原创 2022-07-01 13:22:33 · 2115 阅读 · 1 评论 -
iOS 计算UILabel的宽度(定高)和高度(定宽)
当计算UILabel高度的时候,我们要定死宽度,下面是计算高度的方法/**根据宽度求高度@param text 计算的内容@param width 计算的宽度@param font font字体大小@return 放回label的高度*/+ (CGFloat)getLabelHeightWithText:(NSString *)text width...原创 2018-09-12 08:27:27 · 4363 阅读 · 1 评论 -
Flutter 自定义导航
在开发过程中我们100%会使用到导航,当然Flutter也为我们提供了导航控件,但是自带的往往没有没有那么灵活,所以这个时候就需要我们自定义一个导航,下面就给大家讲解如果绘制一个简单的自定义导航。我们还是通过代码的方式来讲解我这里给自定义导航类命名为TitleNavBar.dartimport 'package:flutter/material.dart';class TitleNavBar extends StatefulWidget { String leftString.原创 2022-02-07 15:24:26 · 2130 阅读 · 0 评论 -
Flutter 编写插件flutter_plugin(包含Android、iOS)实现过程
随着Flutter 日渐成熟,使用Flutter 也越来越多,作为一个跨平台的语言,他的展示效果和操作流畅度 可以和原生媲美,这也Flutter 越来越受欢迎的原因。虽然Flutter 越来越强大,但是总有一些力不从心的时候,现在大厂开发的SDK 如 极光推送、地图 等插件 并没有提供 Flutter 版本,而我们使用的插件也是 一些开发者自己进行实现的,而对于一些冷门的插件,是根本没有,但是在开发过程中我们又要使用到。这个时候我们就要自己写一些插件了。下面我们就要通过iOS、Android 、Fl原创 2022-01-25 11:40:27 · 9978 阅读 · 2 评论 -
Flutter WebSocket
再开发过程中我们经常会使用到WebSocket,而插件库为我们提供了一个使用非常方便的插件web_socket_channel我们需要根据自己的Flutter 版本选择对应的即可web_socket_channel: ^1.1.0在pubspec.yaml中我们引入,然后pub get 一下pub get到此就完成插件的引用。下面就是使用了官网的代码使用import 'package:web_socket_channel/web_socket_channel.dart原创 2021-09-18 13:28:27 · 2404 阅读 · 3 评论 -
Flutter 实现pdf、word、excel、png、ppt等文件预览功能
在开发过程中,我们很少会遇到预览pdf、word、excel、png、ppt等文件的功能,但是很巧的本人就遇到了,由于第一次使用这个功能,着实是让人挠头啊,最后终于得到解决。其实实现预览功能很简单,Flutter的插件库就为我们提供了很好的插件flutter_full_pdf_viewer: ^1.0.1官网给的文件import 'dart:async';import 'dart:io';import 'package:flutter/foundation.dart';impor原创 2021-09-15 16:03:06 · 9651 阅读 · 5 评论 -
Flutter 图片、视频上传
在开发过程中,我们经常会用到图片上传,有的时候还要视频上传,那我们如何实现图片和视频上传呢?这里我们要想实现这些涉及到几个插件 dio: 3.0.8 dio_cookie_manager: 1.0.0 fluttertoast: ^3.1.3 image_picker: ^0.6.3+1 permission_handler: ^5.0.1+1添加完这几个插件我们需要 pub get 一下。注意:fluttertoast这个插件是一个提示框,如果不使用,不用引用也可以原创 2021-08-26 16:56:47 · 3877 阅读 · 3 评论 -
Flutter 网络图片的缓存和加载
大家在开发过程中又的时候需要展示网络图片,这个时候大多数开发直接通过系统的Image直接展示就完事了,但是由于我的这个项目图片有类似于朋友圈的功能,图片可以无限制的上传,如果用户数量很庞大,同事加载图片的展示,读服务器的带宽要求非常高。那我们如何合理的解决这个问题呢,就是图片的缓存,这个缓存不是说临时的缓存,可以说是下载,缓存当我们把APP后台杀死后还是会重新再次加载图片,只是起到一个临时混存的作用,这样做没有起到很大的作用。我们要求的是,只要APP打开,这个图片只要请求一下,以后只要在此使用这个图原创 2021-08-26 15:56:36 · 2178 阅读 · 0 评论 -
Flutter 加载Https网络图片
在开发过程中,我们经常会加载网络图片,Flutter 其实已经为我们提供了网络图片的加载方法,我们只需要使用即可。例如:Container( //展示动态图片 margin: EdgeInsets.fromLTRB(0, 10, 50, 10), width: 80, height: 80, decoration: BoxDecoration( image: Decora原创 2021-08-26 15:22:14 · 1392 阅读 · 0 评论 -
Flutter 实现微信朋友圈功能
今天给大家实现一下微信朋友圈的效果,下面是效果图下面还是老样子,还是以代码的方式进行讲解import 'package:dio/dio.dart';import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:nursery_school_gardener/view/main/dynamic/FriendView/FriendCell.dart';clas原创 2021-07-27 19:43:37 · 1809 阅读 · 8 评论 -
Flutter 抽屉效果
在开发过程中我们可能会用到抽屉效果,弹出的界面我们可以进行很多操作,在原生开发中相比大家对这都不陌生,那么Flutter中抽屉效果是如何实现的呢?首先感谢两位大佬提供资料,两位大佬的博客分别为大队辅导猿、rhyme_lph。如果也可以看一下两位大佬的详细接收,我这里只介绍实现和使用,下面先上效果图。这个我们主要使用的Flutter提供的组件就是drawers,那我们具体如何实现呢,由于直接使用drawers,会出现指定抽屉宽度,无法进行修改宽度,这里我就要处理一下。下面还是老样子,我直接上.原创 2021-07-17 15:51:14 · 2160 阅读 · 1 评论 -
Flutter (仿微信通讯录)按字母分组列表
再开发过程中我们经常会用到按字母顺序将名称惊醒分组,并且在列表最右侧有指示器,效果图如下。这个效果也是我参照一位大佬的博客才实现的,不过忘记了大佬博客的链接,还是很感谢这位大神的。下面是我自己整理的代码和效果。今天我们就来讲解一下这个效果的实现,还是老规矩,直接上代码讲解,这里我是通过三个类来实现的,分别主页ChildrenList、右侧指示器IndexBar还有一个数据模型类Friends。首先讲一下Friends数据模型类class Friends { final String i原创 2021-07-16 17:19:58 · 2898 阅读 · 3 评论 -
Flutter TextField跟随键盘弹出和收回(类似于今日头条的评论)
在开发过程中,我们会遇到输入框跟随键盘上下移动的效果(例如今日头条,当我们点击评论框时候,评论框会自动跟随键盘上移或收回),在原生开发这个效果很简单,那么Flutter如何实现呢?向上一下效果图编辑前:编辑后:那么这项过如何实现呢?废话不多说直接上代码Container( child: AnimatedPadding( padding: MediaQuery.of(context).viewInsets, //边距(必要) .原创 2021-07-07 14:08:22 · 5205 阅读 · 1 评论 -
Flutter 打包iOS包出现 ld: bitcode bundle could not be generated because
在开发过程中我们在打包iOS项目的时候可能会出问题意想不到的问题,这不今天就被我遇到了一个问题ld: bitcode bundle could not be generated because 我这里就粘贴出这么一段,其实还很长,这个问题在跑虚拟机上并没有发现,可是在打包的时候却出现,由于我在干Flutter项目之前是开发iOS的所以这个问题非常好定位。只要找到下面的蓝框内容就改成NO即可将Enable Bitcode 变成NO即可我以为到这里就完成了,再次打包才发现,确实是我以为原创 2021-06-30 15:16:39 · 1267 阅读 · 0 评论 -
Flutter 下拉刷新、上拉加载flutter_easyrefresh的使用
在开发过程中我们经常使用到列表,而使用列表我们就很容易使用到下拉刷新和上拉加载。而这个时候我们就可以使用大佬为我们封装好的插件进行更加方便的使用。今天向大家介绍的插件是flutter_easyrefresh,flutter_easyrefresh在我们开发中使用还是比较多的,下面给大家介绍一下flutter_easyrefresh先附上两张效果图,分别是刷新和加载下面就是集成首先我们先导入自己所需要的使用的插件版本,如果插件版本和Flutter版本对应不上,会提示错误,我们根据.原创 2021-06-29 20:42:58 · 11070 阅读 · 7 评论 -
Flutter 轮播图flutter_swiper的使用
在开发应用过程中,轮播图的使用是必不可少的,其实有很多大神已经帮我们写好了,我们没有必要自己再去开发。而开发过程中我最常使用的就是flutter_swiper这个插件原创 2021-06-18 16:01:28 · 4113 阅读 · 1 评论 -
Flutter 金钱输入框,时时判断输入内容符合金额形式
在开发过程中,涉及到支付或者提现等功能,我们都会对输入框里的内容进行处理,判断输入的内容是否符合金额形式,如果不符合我们要根据输入的内容作出相应的判断,例如禁止继续输入huo tan chu...原创 2021-06-10 16:03:45 · 1615 阅读 · 0 评论 -
Flutter 学习之路(十三)获取手机权限
使用Flutter开发APP中当然会使用到获取手机权限的问题,例如:获取相机权限、相册权限、蓝牙权限等。那我们Flutter中如何获取手机权限呢?其实已经有人为我们处理好了权限获取问题,我们要做的就是s...原创 2021-06-01 17:05:41 · 4424 阅读 · 7 评论 -
Flutter 学习之路(十二)Flutter时间管理类
在开发Flutter项目中,我们经常会使用到获取时间等方法,下面就是我整理的一些获取时间的方法创建一个时间管理类,名字为DateUtils原创 2021-06-01 16:51:50 · 927 阅读 · 0 评论 -
Flutter 学习之路(十一)Flutter与原生互相调用
从事Flutter开发过程中,有的时候Flutter的功能明显是不够用的,这个时候就要使用Flutter调用原生或者原生调用Flutter了。那么我们如何进行Flutter和原生代码之间的互相调用呢?其实Flutter已经为我们提供了对应的方法,我们只需要按照步骤进行实现就行了。Flutter为我们提供了三种与原生互动的方式1、MethodChannel 用于 Flutter 与 原生平台之间函数的互相调用 2、BasicMessageChannel 它传递的是字节数.原创 2021-06-01 13:58:39 · 3352 阅读 · 1 评论 -
Flutter 自定义导航
上篇文章我们讲到了自定义底部分栏控制器的使用,在开发过程中我们100%会使用到导航,当然Flutter也为我们提供了导航控件,但是自带的往往没有没有那么灵活,所以这个时候就需要我们自定义一个导航,下面就给大家讲解如果绘制一个简单的自定义导航。我们还是通过代码的方式来讲解我这里给自定义导航类命名为TitleBar.dart下面就是自定义导航的实现,具体原理都写在注释里import 'package:flutter/cupertino.dart';import 'package:flutt.原创 2021-05-21 15:39:30 · 411 阅读 · 0 评论 -
Flutter 学习之路(九)底部分栏控制器
上一篇我们讲了登录页面的简单实现,其实在开发开发过程中,我们会经常使用到分栏控制器,也就是iOS中的UITabBarController。先给大家看一下效果图。其实实现这个效果很简单,下面我依旧使用代码的方式来讲解import 'package:flutter/cupertino.dart';import 'package:flutter/services.dart';import 'package:flutter_app/main/home/Home.dart';import 'pac原创 2021-05-08 10:46:24 · 567 阅读 · 0 评论 -
Flutter 学习之路(八)登录页面布局及业务逻辑
上一讲我们说到了main.dart页面跳转到到登录页面,那么今天就讲一下一个完整的页面逻辑是如何实现的。还是和上面一样,我们通过代码讲解的方式来实现import 'package:flutter/cupertino.dart';class Login extends StatefulWidget { @override _LoginState createState() => _LoginState();}class _LoginState extends State&l原创 2021-05-07 17:23:04 · 1293 阅读 · 0 评论 -
Flutter 学习之路(七)main.dart
今天我们来讲解一下main.dart,main.dart可以说应用运行起来的第一个类,在这里我们需要根据功能需要,可以做很多事情,例如:应用跳转的第一个页面,推送、地图等的注册,都可以在这里实现。今天我先来讲一下基本使用,就是页面的跳转,例如:首次登录跳转到登录页面等等,有了首个操作页面我们才能更好的往下进行。我们先来看一下创建Flutter项目时代的源码import 'package:flutter/material.dart';void main() { //这里我们可以初始化各种数据原创 2021-05-07 11:20:16 · 1609 阅读 · 3 评论 -
Flutter 自定义导航、字体大小、颜色等
导航作为app开发想来都不陌生,在app的每一个页面几乎都离不开导航的影子,所以我们要封装一个自定义导航方便每一个页面的使用,导航一般都是左边返回、中间标题、右面保存等功能,下面就为大家 提供一个导航的实现,废话不多说直接上代码,大家可以直接ctrl+c和ctrl+v。类名大家可以随便起,我这里是TitleBar.dart这里我还使用了其他几个类,一个是颜色管理类,ColorUtils.dart另一个字体尺寸类,FontSizeUtils.dart一个是全局宏定义类,原创 2020-09-17 19:55:37 · 1414 阅读 · 0 评论 -
Flutter 常用的工具类
今天给大家介绍几个工具类,个人封装,很方便可直接使用,这里备份一下,方便以后粘贴首先第一个就是时间方面的工具类类名称:DateUtils.dart类内容:import 'dart:core';/** * 日期工具 */class DateUtils { /** * 计算两个日期相差多少年 */ static int daysBetweenYear(DateTime a, DateTime b) { int v = a.millisecondsSi原创 2020-09-17 19:13:05 · 743 阅读 · 0 评论 -
Flutter 请求数据转model
这次我们说一下,Flutter网络请求返回的数据如何转modelFlutter的model和安卓、iOS完全不一样,他的生成比较负载,没有iOS、安卓那么灵活和方便Flutter生成model文件首先需要去一个网站https://caijinglong.github.io/json2dart/index.html1、打开这个网站后根据版本选择版本,第一个黄框目前选择V1.x.x2、第二个黄框根据是我们想要起名的model类名称(首字母必须大写),但是我们要使用红色框中的黑色框的名称,原创 2020-09-04 15:29:12 · 1772 阅读 · 0 评论 -
Flutter 网络请求的封装
上篇文章主要说的是 Flutter 环境 常用的开源库的使用的安装,那么今天我们就说一下项目常用的网络请求库dio、dio_cookie_manager这两个库。dio这个库是我们常用的网络请求库,通过这个进行网络数据的请求,而我们在开发过程中经常我们会传cookie,这个时候我们就使用到了dio_cookie_manager这个库。负责管理cookie,当我们请求这两个库的时候我们只需要连个库连用就可以实现安卓和iOS的网络请求那我们如何使用呢。下面是我们项目里对这两个框架的封装,这样我们就可以更原创 2020-09-04 14:32:43 · 321 阅读 · 0 评论 -
Flutter 常用的库
上篇文章主要说的是Mac 电脑 Flutter环境的安装,那么今天我们就说一下Flutter常用的库首先就是一个Flutter最常用的开源库网站网址:https://pub.dev/packages这里有很多常用的库,例如:http、video_player等那我们到底如何使用呢首先第一步就我们要创建一个Flutter项目接下来就是我们打开项目找到pubspec.yaml文件红框内的就是此文件,而蓝色框内就是引用的开源库,在我们引用完库以后并且没有报错后,我们习惯性的点击一下原创 2020-09-04 14:02:47 · 329 阅读 · 0 评论