Flutter
安卓小煜
这个作者很懒,什么都没留下…
展开
-
Flutter 错误捕获的正确姿势
背景我们知道,在软件开发过程中,错误和异常总是在所难免。不管是客户端的逻辑错误导致的,还是服务器的数据问题导致的,只要出现了异常,我们都需要一个机制来通知我们去处理。在 APP 的开发过程中,我们通过一些第三方的平台,比如 Fabric、Bugly 等可以实现异常的日志上报。Flutter 也有一些第三方的平台,比如 Sentry 可以实现异常的日志上报。但是为了更加通用一些,本篇不具体...原创 2019-10-14 08:51:19 · 950 阅读 · 0 评论 -
给 Flutter 界面切换来点特效
本文微信公众号「AndroidTraveler」首发。背景我们知道页面之间如果直接切换,会比较生硬,还会让用户觉得很突兀,用户体验不是很好。因此一般情况下,页面之间的切换为了达到平滑过渡,都会添加动画。另外,有时候我们不喜欢系统的默认动画,希望能够自定义动画。基于此,本篇主要讲述如何给 Flutter 的页面切换增加自定义动画。默认效果首先我们看看默认效果是怎样的?看起来似乎还不...原创 2019-09-09 08:33:51 · 748 阅读 · 0 评论 -
Flutter 快速上手定时器/倒计时及实战讲解
本文微信公众号「AndroidTraveler」首发。今天给大家讲讲 Flutter 里面定时器/倒计时的实现。一般有两种场景:我只需要你在指定时间结束后回调告诉我。回调只需要一次。我需要你在指定时间结束后回调告诉我。回调可能多次。下面针对这两种场景,我们来说下如何在 Flutter 里面使用。回调一次的定时器const timeout = const Duration(seco...原创 2019-06-10 09:49:57 · 697 阅读 · 0 评论 -
Flutter 即学即用系列博客总结篇
前言迟到的总结篇,其实大家看我之前发的系列博客最后一篇,发文时间是 3 月 29 日。距离现在快两个月了。主要是因为有很多事情在忙,所以这篇就耽搁了。今天终于可以跟大家会面了。系列博客背景Flutter 正式版于 2018 年 12 月 5 日正式发布。而我所在的团队刚好想在项目新功能里面尝试 Flutter 的引入,利用 Flutter 的跨平台特性希望可以提高开发效率,因此本人作...原创 2019-05-28 09:56:54 · 798 阅读 · 0 评论 -
Flutter 你需要知道的那些事 01
公众号「AndroidTraveler」首发。1. width 属性对于设置控件宽度填充父控件这件事情,在 Android 里面,只需要设置 MATCH_PARENT 即可。但是在 Flutter 里面却不是这样,因为 Flutter 要具体的数值。所以我们可以这样考虑,假设我这个值非常大,比所有市面上的设备宽度还要大,那么是不是表现出来就是充满父控件了。所以这边的做法是设置为无限,即...原创 2019-05-05 10:17:30 · 559 阅读 · 0 评论 -
Flutter 异常处理之图片篇
背景说到异常处理,你可能直接会认为不就是 try-catch 的事情,至于写一篇文章单独来说明吗?如果你是这么想的,那么本篇说不定会给你惊喜哦~而且本篇聚焦在图片的异常处理。场景学以致用,有具体的应用场景,能够加深我们对知识的掌握。我们以简书的文章列表为例,如下图:假设产品有这样的需求,当右边的封面图加载失败的时候,用一个默认图片替换或者直接让文本横向填充原有图片位置。不管处理...原创 2019-04-15 10:31:02 · 4455 阅读 · 0 评论 -
Flutter 即学即用系列博客——09 MethodChannel 实现原生与 Flutter 通信(二)
前言上一篇我们讲解了如何通过 EventChannel 实现 Android -> Flutter 的通信。并且也看到了 Flutter 内部 EventChannel 源码也是对 MethodChannel 的封装。因此这篇我们来说下如何通过 MethodChannel 实现 Android -> Flutter 的通信。至于 Flutter -> Android 的...原创 2019-03-23 20:29:01 · 379 阅读 · 0 评论 -
Flutter 即学即用系列博客——10 混淆
前言之前的博客我们都是在 debug 的模式下进行开发的。实际发布到市场或者给到用户的都是 release 包。而对于 Android 来说,release 包一个重要的步骤就是混淆。Android 如何混淆如何你不做任何处理,直接在原有混淆基础上打出 release 包。当运行到 Flutter 对应代码,会 crash。因此我们需要在 Android 项目的 proguard-...原创 2019-03-29 19:18:04 · 972 阅读 · 0 评论 -
Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)
前言紧接着上一篇,这一篇我们讲一下原生怎么给 Flutter 发信号,即原生-> Flutter还是通过 Flutter 官网的 Example 来讲解。案例接着上一次,这一次我们让原生主动将电池的充电状态发送给 Flutter 并在界面显示。步骤如下。1. Flutter 界面修改我们在原先基础上增加一列用于显示文本。String _chargingStatus = 'B...原创 2019-03-22 20:21:30 · 1587 阅读 · 0 评论 -
Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信
背景前面我们讲了很多 Flutter 相关的知识点,但是我们并没有介绍怎样实现 Flutter 与原生的通信。比如我在 Flutter UI 上面点击了一个按钮,我希望原生做一些处理,那么原生怎么知道?比如我在原生有些变化需要告知 Flutter,Flutter 又如何获知?本篇我们先解决第一个问题。即 Flutter-> 原生的通信。路由回顾之前我们一直在讲 Flutter ...原创 2019-03-18 19:09:42 · 556 阅读 · 0 评论 -
Flutter 即学即用系列博客——07 RenderFlex overflowed 引发的思考
背景在进行 Flutter UI 开发的时候,控制台报出了下面错误:flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY >╞═════════════════════════════════════════════════════════flutter: The following message was thrown during...原创 2019-03-18 14:59:13 · 275 阅读 · 0 评论 -
Flutter 即学即用系列博客——06 超实用 Widget 集锦
本篇文章我们来讲讲一些比较常用的 Widget。大家验证的时候使用下面的代码替换 main.dart 代码,然后在 //TODO 语句返回下面常用 Widget 示例的代码。import 'package:flutter/material.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidg...原创 2019-03-18 14:58:30 · 226 阅读 · 0 评论 -
Flutter 即学即用系列博客——04 Flutter UI 初窥
前面三篇可以算是一个小小的里程碑。主要是介绍了 Flutter 环境的搭建、如何创建 Flutter 项目以及如何在旧有 Android 项目引入 Flutter。这一篇我们来学习下 Flutter 的 UI。前言说到 UI,我就简单说下 Flutter 作为一门跨平台语言具有的优势之一,提高效率吧。举个例子:假设现在要开发一个界面,Android 开发需要一天,iOS 开发也需要一...原创 2019-03-18 14:56:42 · 453 阅读 · 0 评论 -
Flutter 即学即用系列博客——05 StatelessWidget vs StatefulWidget
前言上一篇我们对 Flutter UI 有了一个基本的了解。这一篇我们通过自定义 Widget 来了解下如何写一个 Widget?然而 Widget 有两个,StatelessWidget 和 StatefulWidget,我们要继承哪一个?下面让我们跟着文章来探索一番。目录1. StatelessWidget我们先来看下继承的 Widget 为 StatelessWidget ...原创 2019-02-20 19:32:50 · 157 阅读 · 0 评论 -
Flutter 即学即用系列博客——01 环境搭建
前言工欲善其事,必先利其器所以第一篇我们来说说 Flutter 环境的搭建。笔者这边使用的是 MAC 电脑,因此以 MAC 电脑的环境搭建为例。Windows 或者 Linux 也是类似的操作。Flutter 有英文版的官网和中文网,大家可以根据自己的喜好和情况进行选择。点击下面的链接可以到对应的安装页面。Flutter 官网安装链接Flutter 中文网安装链接我们这边以...原创 2019-02-12 20:11:17 · 279 阅读 · 0 评论 -
Flutter 即学即用系列博客——03 在旧有项目引入 Flutter
前言其实如果打算在实际项目中引入 Flutter,完全将旧有项目改造成纯 Flutter 项目的可能性比较小,更多的是在旧有项目引入 Flutter。因此本篇我们就说一说如何在旧有项目引入 Flutter。官方 WIKI 有说明,但是里面坑还是不少的,变化也是存在的。因此就让我们来看一看。目录1. 按照官网实现基本引入Add Flutter to existing apps上面...原创 2019-02-16 17:16:55 · 483 阅读 · 0 评论 -
Flutter 即学即用系列博客——02 一个纯 Flutter Demo 说明
前言上一篇文章我们搭建好了 Flutter 的开发环境。Flutter 即学即用——01 环境搭建这一篇我们通过 Flutter 的一个 Demo 来了解下 Flutter。开发系统:MACIDE:Android Studio目录1. 创建一个 Flutter 项目到此项目基本就创建完成了。2. 运行项目2.1 点击 IDE 运行按钮运行依次表示 flutt...原创 2019-02-16 17:16:03 · 459 阅读 · 0 评论