4 水月沐风

尚未进行身份认证

千里之行,始于足下。

等级
TA的排名 1w+

Flutter 开发小结 | Tips

接触 Flutter 已经有一阵子了,期间记录了很多开发小问题,苦于忙碌没时间整理,最近项目进度步上正轨,借此机会抽出点时间来统一记录这些问题,并分享项目开发中的一点心得以及多平台打包的一些注意事项,希望能对大家有所帮助????。UI 组件使用官方为我们提供了大量原生效果的组件,如以 Android 中常见的 Material Design 系列组件和 iOS 系统中让设计师们“欲罢不能”的 Cup...

2020-03-26 17:15:57

Flutter中“倒计时”的那些事儿

好久不见了,文章有一段时间没有更新了,最近一直在沉迷工作无法自拨????。上周,应公司号召以及上次Google大会中Flutter宣讲的感染,计划将公司新项目采用Flutter技术实现。大概花了几天熟悉了一下Flutter基础语法和结构组成,便着手开始项目的搭建和基础模块功能开发,毕竟只有通过实战才能加快新技术的熟悉和“消化”。说到验证码功能,我们通常的做法可能是借助于计时器来实现,抱着几乎肯定的态度...

2019-12-02 11:30:16

Dart入门?一篇文章就够了!

近期公司准备启动新项目,经过技术团队一番调研,决定采用 Flutter 来开发第一版App,故作此文,常来回顾温习。由于项目采用敏捷开发模式,故本文主要总结和记录 Dart 常用语法,更多高级和生僻用法将在后面开发过程中不定期更新。First of all在我们正式接触 Dart 语法之前,需要铭记以下内容,这将会对后续 Dart 语法的学习、理解和应用有很大帮助:万物皆对象, 每个对象都...

2019-08-20 17:54:18

是时候让 Android Tools 属性拯救你了

日常开发过程中,我们都会遇到这样一种场景:我们写出的 UI 效果在对接数据之前需要提前进行预览,进而调整 UI 细节和排版问题。我们一般的做法是什么样的?如果存在像 TextView 或者 ImageView 这种基础控件,你是不是还在通过诸如 android:text="xxx" 和 android:src="@drawable/xxx" 的方式来测试和预览UI效果?当然你肯定也会遇到这些“脏...

2019-08-11 21:10:00

一篇文章带你领略Android混淆的魅力

在 Android 日常开发过程中,混淆是我们开发 App 的一项必不可少的技能。只要是我们亲身经历过 App 打包上线的过程,或多或少都需要了解一些代码混淆的基本操作。那么,混淆到底是什么?它的好处有哪些?具体效果如何?别急,下面我们来一一探索它的"独特"魅力。混淆简介代码混淆(Obfuscated code)是将程序中的代码以某种规则转换为难以阅读和理解的代码的一种行为。在 Andr...

2019-07-02 09:19:59

带你领略 Kotlin 中的 “when”魔法

提到 when,大家都会联想到 Java 中的 switch,然而在 kotlin 中,when 显然比 Java 中的 switch 要强大得多。首先,我们先来看看 when 的特点:它可以作为表达式使用使用更加安全强大灵活的分支结构可以不带参数接下来,我来带大家逐步领略这些特点。以下面这段 Java 功能代码为例:switch(animal) { case EAGLE:...

2019-05-21 14:10:20

Flutter 之 AppBar 这样的骚操作你知道吗?

好久不见了,这阵子在忙公司的项目,加班比较严重,这周终于抽了点时间来帮国外一家公司做一款跨平台的 App。由于去年九月份在上海参加过 Google 举办的 Google develop days, 受益颇多,特别在其目前正在大力热推的 Flutter 框架。相比于目前热门的跨平台框架 React Native,Flutter在 UI 绘制以及性能方便不遑多让。因此,这款 app 打算基于 Dart...

2019-03-01 17:13:09

Android studio3.1.4打包release版本时失败问题

今天遇到一个很坑的问题:打包签名apk出现问题,debug包没毛病,但是release包却怎么也不成功,具体日志信息如下:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeReleaseResources'. at org.gradle.api.internal.tasks.exe...

2019-01-08 17:46:31

当 Kotlin 中的监听器包含多个方法时,如何让它 “巧夺天工”?

原文地址:Listeners with several functions in Kotlin. How to make them shine?原文作者:Antonio Leiva译文出自:掘金翻译计划本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/listeners-several-functions-kotlin...

2018-12-24 09:30:53

Android 中的 MVP:如何使 Presenter 层系统化?

原文地址:MVP for Android: how to organize the presentation layer原文作者:Antonio Leiva译文出自:掘金翻译计划本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/mvp-for-android.md译者:Moosphon校对者:https://git...

2018-12-24 09:27:00

Android简单实现本地图片和视频选择器功能

哈喽,大家好,好久不见了,很久没有更新 Android 方面的技术文章了,最近在忙公司的 AR 类的新产品,其中涉及到本地图片和视频的选择和上传功能。至于为什么不用系统提供的图片和视频选择器,原因你懂的,系统提供的选择器只能通过 Intent 方式去获取,这意味着需要离开当前页面前往系统的媒体库,选择完毕后在onActivityResult 方法中拿到结果。这显然存在很多弊端:UI的定制化很差...

2018-09-22 15:07:19

基于Kotlin解决Android中Handler内存泄漏问题

作为Android开发者,我们都知道,当我们在子线程处理完耗时任务后刷新UI时,一般会借助于 Handler 来实现。关于handler具体用法这里不做说明了,在使用 Handler 时一般会遇到内存泄漏的隐患,同时编译器也会给出一大片黄色的警告,在两者驱使下,我们势必要对其暴露的问题进行合理解决。​ 关于Handler内存泄漏原因的详细分析可以参考该文章:https://www.jianshu...

2018-09-19 14:15:10

基于Laya游戏引擎实现微信小游戏排行榜

我们都知道,微信小游戏和小程序目前风头十足,很多公司都逐渐增加了相关业务线来迅速推广自己的产品和抢占用户群。说到微信小游戏,就不得不提到排行榜这个功能,就目前游戏行业,似乎都离不开排行榜这个重要功能,用户很大一部分留存都是依仗这个看似不起眼的模块。那么,微信小游戏中具体该如何借助laya引擎实现排行榜这个功能呢?我们先来看一下最终的效果图:按照微信官方的说法,如果我们要使用微信官方提供的好...

2018-09-11 11:52:41

带你领略 ConstraintLayout 1.1 的新功能

原文地址:Introducing Constraint Layout 1.1 原文作者:Sean McQuillan 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/introducing-constraint-layout-1-1.md 译者:Moosphon 校对者:...

2018-05-21 08:45:41

Glide在RecyclerView中部分图片加载失败的问题

在Android开发中,图片加载是常见需求之一,而glide是目前最为主流的图片加载框架了。但今天在使用时,遇到了一个问题:在recyclerview中部分图片加载不出来,一直显示的占位图.通过查找资料,可以通过如下方法来解决问题:Glide.with(activity).load(list.get(position).getUserLogo()) .diskC...

2018-05-11 11:11:41

Android实现社交应用中的评论和回复功能

在Android的日常开发中,评论与回复功能是我们经常遇到的需求之一,其中评论与回复列表的展示一般在功能模块中占比较大。对于需求改动和迭代较频繁的公司来说,如何快速开发一个二级界面来适应我们的功能需求无疑优先级更高一些。首先我们来看看其他社交类app的评论与回复列表如何展示的:Twitter不用说了,全球知名社交平台,上亿用户量,他们的评...

2018-04-25 10:15:04

Activity生命周期探索

我们都知道,activity作为Android的四大组件之一,在页面渲染方面起到至关重要的作用。面试中,activity生命周期也是一个必定考察的问题,那么本文就来针对其生命周期做一个详细讲解,让我们看看Android界面从不可见到可见过程都经历了些什么。概述在我们平时开发过程中,创建一个activity已经成了家常便饭。那么,除了它的onCreate()方法以外,你是否对其他生命周期...

2018-04-18 11:22:07

Android开发一款好看的加载控件

最近抽了点时间学习了Android自定义view,然后花了大概几天时间搞了个自己的一个款开源。让我们先来看看效果:本开源主要实现了一款精美、优雅的加载控件。她目前有两种类型:弧形加载(CircleProgressView)和水平加载(HorizontalProgressView),同时,你可以为她设置颜色渐变效果。传送门地址:https://github.com/Moosphan/Ma...

2018-04-12 16:30:04

HTML实现圆形头像效果

展示圆形的图片是很多常见需求之一,因为有Android开发经验,难免会从Android开发角度去考虑问题,Android中实现一张图片的圆形效果一般通过自定义view的clip处理,而HTML却很简单。虽然简单,但还是遇到一点坑,比如圆形化处理的图片并没有裁剪中间部分,而是默认左上角,毕竟昨天还在开心的写着Android,今天就开始摸索前端的东西,这种心情大家能理解吗[悲剧··]。好了,废话不...

2018-03-28 17:34:36

Css之选择器使用

  我们都知道,CSS 指层叠样式表 (Cascading Style Sheets),主要用来为html 元素定义显示样式。本文主要来看一下css的选择器,选择器用来定义css的样式,一般有以下几种:ID选择器ID选择器,通过#标识符来为selector设置id,然后html元素通过该ID可以获得指定的样式,如:<style>#name{color:red;}...

2018-03-28 16:39:11

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。