自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沐风的博客

不能在安逸中将激情消亡。

  • 博客(102)
  • 资源 (8)
  • 收藏
  • 关注

原创 Flutter 开发小结 | Tips

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

2020-03-26 17:15:57 1166

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

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

2019-12-02 11:30:16 966

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

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

2019-08-20 17:54:18 4065 1

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

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

2019-08-11 21:10:00 3093 1

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

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

2019-07-02 09:19:59 668

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

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

2019-03-01 17:13:09 6659 1

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

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

2018-04-25 10:15:04 25699 25

原创 基于高德地图实现完全自定义Marker

  做地图社交类APP开发的都知道,一般情况下,为了整体的美观和用户体验度,我们需要定制化Marker的样式。本文中实现的方式都是基于高德地图的,百度地图也类似,大家可以照葫芦画瓢,废话不多说,先来看看最终效果:实现思路: 先来看看高德官方提供的设置Marker图标的方法:我们可以看到setIcon()方法,里面的参数BitmapDescriptor就是我们最终需要的东西。那...

2017-11-25 15:45:32 13461 5

原创 基于高德地图实现Marker聚合效果

最近,项目有了新的需求,要求地图上的标签点实现聚合效果,单纯的marker已经无法满足大量数据展示的情况,聚合效果成为大势所趋。  目前,网上提供基于高德marker聚合的思路大致差不多,处于雏形阶段。高德官方也提供了关于聚合的解决方案,对于缓存和加载效率都做了一些处理,为我们后面的定制奠定了基础,本文就在高德官方提供的方案基础上做一些定制化。笔者经过思考后,还是觉得将篇幅分为上下两部分,前篇主要涉

2017-11-20 22:55:50 14486 4

原创 Android Gradle 插件3.0开始Implementation与Api的爱恨情仇

本文翻译于 Bedanta Bikash Borah 的文章,原文链接如下:Implementation Vs Api in Android Gradle plugin 3.0当我们在Android项目中使用 Gradle 3.0 及以上版本的插件,你一定会注意到 compile 关键字已经被弃用来支持 implementation 和 api。让我们借助一个例子来了解它们。示例应用 (Kotlin) 可以在这里找到。让我们假设有一个 Android 项目包含以下四个 library modu

2020-09-07 18:52:38 617

原创 带你领略MotionLayout的魅力(中)

距离上一篇文章「 MotionLayout:打开动画新世界大门(part I)」已经过去了很久,由于个人原因,MotionLayout 系列文章姗姗来迟。在之前的文章中,我们领略到了 MotionLayout 的魅力,了解到它继承自 ConstraintLayout,并具有它“约束布局”的特性。同时,关于如何创建和使用 MotionScene 及其内部的 KeyFrameSet 也都做了一些简单介绍。那么,本文来带大家进一步探索 KeyFrameSet 这个大家族中的“神秘宝藏”,并针对上文中留下的一些彩蛋

2020-09-07 18:51:22 653

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

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

2019-05-21 14:10:20 559

原创 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 3188

翻译 当 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 1666

翻译 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 674

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

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

2018-09-22 15:07:19 6102 2

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

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

2018-09-19 14:15:10 3565

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

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

2018-09-11 11:52:41 7769 6

翻译 带你领略 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 1135

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

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

2018-05-11 11:11:41 4800

原创 Activity生命周期探索

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

2018-04-18 11:22:07 415

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

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

2018-04-12 16:30:04 2231 1

原创 HTML实现圆形头像效果

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

2018-03-28 17:34:36 36464

原创 Css之选择器使用

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

2018-03-28 16:39:11 318

原创 Android将library代码发布到jcenter

作为一名Android开发者,日常开发工作中肯定会用到一些强大的第三方开源库,有了这些开源的帮助,开发工作可谓是如鱼得水。很多时候,我们自己写了一套代码,为了让别人体验到自己代码的便捷之处,通常我们需要将其部署到github,发布到jcenter,然后生成gradle代码供他人使用。网上对于这部分的教程很多,不管是通过gradle-bintray-plugin插件或者是bintray-releas...

2018-03-25 16:36:24 343

原创 Mac 上jdk默认存放路径以及环境变量配置

自从将开发的电脑从Windows换为mac后,遇到很多小问题,当然也体会到mac上Linux系统的强大之处。首先从官网下载了Android Studio后,首要的肯定是要设置jdk路径以及配置环境变量了。JDK默认存放路径我们都知道,windows系统中jdk需要自行下载,而mac上一般自带了java虚拟机和jdk了,方便起见,一般用系统自带的就可以了。在此之前,我们需要知道系统jdk默认...

2018-02-27 16:20:49 9762

原创 Kotlin之路-起点篇

概述  2017年google开发者大会上,Google正式将kotlin列为其官方语言。那么,到底kotlin有何厉害之处呢?简单来说,使用kotlin,可以让代码更加简洁和易读,同时支持函数式编程,100%兼容老牌开发语言-Java,并且还有很多实用的语法糖。知乎上还有关于kotlin的大牛论战,看法褒贬不一,但是,个人看来,kotlin是大势所趋。如果你认为kotlin只能用来开发And...

2018-02-12 14:11:29 391

原创 Mac中常用快捷键

作为一名开发者,如果你使用Mac,那么下面这些快捷键不可或缺,能很大程度上提高开发效率。先来看一下熟悉一下键盘:通用 command(⌘)+ tab :应用程序间实现快速切换 command(⌘)+ H : 隐藏当前窗口 command(⌘)+ M : 将窗口最小化 command(⌘)+ N : 新建一个窗口 command(⌘)+ O

2018-01-28 14:21:09 3434

原创 Android日期格式转换(将日期转为周期)

最近自己的项目中遇到一个需求,需要将标准的日yyyy-MM-dd转换为具体的周期,即星期几。通过查找资料发现,Android中已经为我们提供了强大的日期工具Calendar类,我们可以通过该类就能快速实现日期之间的转化。这里,我已经将其封装成了一个工具类,并提供类汉/英两种周期格式的转化:/** * Created by moos on 2018/1/6. * func:时间的工具类

2018-01-21 14:21:58 1597

原创 Android版微信跳一跳小游戏如何利用技术手段达到高分!

本文主要来讲个个好玩的东西,近来微信刚出的跳一跳微信小程序的游戏很火,看到很多人都达到了二三百分就各种刷朋友圈了。 最终我们达到的分数却是这样的:一定会有人拍手叫好,“黄金右手”!说真的,我已经不用右手好多年,而且我玩这个游戏压根就没用手,而是意念!哈哈,别喷我,开个玩笑而已,肯定是利用技术手段啦,什么技术?python喽~哈哈,不过不是我写的,我自己是做Android开发的,我对于python从

2018-01-01 22:43:42 1948

转载 Android Studio最全快捷键和使用技巧(附图!)

本文转载自:http://www.open-open.com/lib/view/open1458715872710.html   Android studio作为如今主流的Android开发平台,熟悉常用快捷键可以让我们开发更加高效便捷,如鱼得水。  本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Stu

2017-12-11 10:11:51 13577 1

原创 Android当前应用跳转到三方应用

今天,需要按照产品说的在当前的应用中增加一个入口,用来跳转到另外一个应用,没有就自动前往应用商店下载,需要有第三方应用的bao'ming废话不多说,直接上代码:if(isApplicationInstall("第三方app包名")){ //直接进入 loge("已安装!"); PackageManager packageManager = getPackageMan

2017-11-28 16:14:16 1325

原创 Recyclerview滚动实现隐藏和显示悬浮按钮

前言:最近项目用到很多Recyclerview方面的知识,例如复杂列表布局的显示,瀑布流数据展示,商品列表的刷新和分页加载,列表右下方的悬浮按钮随着列表滚动方式来显示和隐藏等等。此处主要记录一下悬浮按钮随着recyclerview滑动而显示与隐藏(即下拉隐藏,上拉显示)。一般有两种常用方式:1.通过FAB(FloatingActionButton)的layout_behavior属性来为其设置相应

2017-10-29 11:26:51 4209

原创 Attempt to invoke virtual method 'android.os.IBinder android.view.View.getWindowToken()' on a null o

今天,做公司项目遇到一个比较另类的空指针异常,看样子是我之前遇到过,但是竟然没有记录下来,没办法,仔细检查一番后终于发现问题所在.错误信息:java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.IBinder android.view.View.getWindowToken()' on a nu

2017-10-25 15:27:52 9787

原创 Android实现fragment向Activity实时传递信息

平时,我们的项目中会经常用到fragment这个控件,一般情况下,我们将数据放在fragment里,而大部分UI在activity中,如果需要在数据改变时实时刷新我们的UI,那么就要用到framgent与Activity数据的传递了。       常用的一般有三种方式来实现以上需求:1. 通过fragment中brocastReceiver来通知activity刷新UI;2. 通过ev

2017-10-23 14:29:38 5568 3

原创 Android基于高德地图实现搜索框的自动输入提示功能

最近公司项目中一直在搞地图开发,今天产品经理就给我布置了一些(无法想象)任务,其中一个就是实现地点搜索输入框的自动输入提示功能。拿到任务肯定想讨价还价一番,但是想到以前也写过,就不再负隅顽抗了。   以前在学校的时候实现过类似功能,是使用高德自带的InputtipsListener来实现的,想了解可以看看:文章传送点,这里就不详细介绍了。作为一名头脑发热的开发者,肯定不能安于现状,这里主要介绍其他

2017-09-25 09:14:03 10439 4

原创 android studio gradle构建出错

今天遇到一个比较坑的问题:打开android studio后发现build出错:Error:(4, 0) Cause: startup failed:build file '/Users/wyj/Timeory_Android/Timeory/app/build.gradle': 4: illegal rule @ line 4, column 5. def signCon

2017-09-21 19:02:20 3363 1

原创 Android项目中调起手机地图导航

现在,移动应用中集成地图已经成为一种趋势。导航 - 作为地图中不可或缺的一项功能,被很多移动应用所青睐,然而,导航方式选择上,为了减少不必要的资源和apk容量,一般应用都选择通过调用第三方的地图应用来实现导航功能。在介绍之前,先看一下最终效果:   本文主要提供几种常用的调起三方地图应用的导航平台,以高德,百度,腾讯,谷歌地图为例。 地图平台 Uri文档 高德地图 http:

2017-09-19 16:57:21 3050

原创 Android 高德地图上显示videoview被覆盖的问题

最近需要在高德地图上开发部分视频功能,用的是Android原生的videoview,但是却发现一个问题:界面存在高德地图后,videoview会被地图UI覆盖掉,通过查找资料发现:原来videoview与map控件本质都是surfaceView,所以发生了重叠现象.   解决方法如下: 只需要给VideoView设置setZOrderMediaOverlay(true)即可.但

2017-09-09 22:33:16 1519 1

原创 Android 高德地图获取屏幕中心的经纬度坐标

最近项目在搞一个需求- 实现滑动地图实时刷新屏幕中心icon的附近数据.这种需求较为常见,ofo以及摩拜单车等都采用该方式获取屏幕中心的附近车辆数据.主要的实现就是将屏幕上的像素点转换为实际的经纬度坐标,核心代码如下所示:/** * by moos on 2017/09/05 * func:获取屏幕中心的经纬度坐标 * @return */

2017-09-09 22:21:43 8957 2

Git命令行工具

git的命令行工具,使用它可以方便快捷实现代码托管与版本控制

2017-05-13

git入门教程

张哥大神的精讲git入门教程,值得一看!

2017-05-13

Retrofit访问知乎新闻数据的简单demo

Retrofit访问知乎新闻数据的简单demo,做学习交流之用。

2017-04-21

jdk1.8官方正式版下载

jdk1.8的网盘下载地址

2017-04-20

android侧滑菜单

android简单唯美侧滑菜单,可以根据具体需求增加一些功能

2017-04-12

Gson库2.7版本(Json解析)

此次提供的是json解析工具之Gson,一个很简单实用强大的json解析库。

2017-04-02

一款界面优美防网易音乐的播放器

一款不错的android音乐播放器,值得进阶人士学习

2017-03-11

android面试题大全(含答案)

最新整理的android常问面试题,还有详细答案

2017-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除