自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

下位子的博客

本人开发经验和积累

  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 『Android 技能篇』优雅的转场动画之 Transition

前言先直接上效果图:相信大家在平常开发也会遇到类似的转场动画,如果想要要实现上图的效果有哪些方式呢?首先分析一下转场过程,我们把起始 View 分别定义为 startView 和 endView。startView 为常见的列表布局,左侧头像和右侧为文本介绍;endView 为详情页面,置顶的大图和详细的文本介绍。不难发现,这些元素都是对应关系,只不过起始状态的基本属性不同:头像,位置和大小以及 scaleType 发生变化背景,颜色、位置和大小发生变化名称,字体大小、颜色和位置发生变化

2020-10-06 16:02:28 854

原创 『Flutter-技能篇』实现一套完整的应用内更新

前言前不久,利用周末时间学习并完成一个简单的 Flutter 项目 - 简悦天气,简约不简单,丰富不复杂,这是一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径、语音播报以及生活指数等服务,支持定位、删除、搜索等操作。下图为主页效果,点击下载 进行体验:一款成熟的 APP,为了保证用户手上的 apk 始终是最新版本,一方面可以通过发布到各产商应用商店,依赖其自升级能力完成自更新;或者,自己实现一套应用内更新逻辑,两者各有利弊。前者,优势在于有厂商应用商店自升级通道,可

2020-10-05 19:45:05 854

原创 『Flutter-插件篇』实现一款超酷的动态天气背景插件

前言前不久,利用周末时间学习并完成一个简单的 Flutter 项目 - 简悦天气,简约不简单,丰富不复杂,这是一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径、语音播报以及生活指数等服务,支持定位、删除、搜索等操作。下图为主页效果,点击下载 进行体验:之前发了三篇文章:『Flutter-绘制篇』实现炫酷的雨雪特效『Flutter-绘制篇』实现炫酷的雷电特效『Flutter-绘制篇』实现梦幻的晴晚流星效果对天气背景动画的具体实现做了详情的分析和总结,很多小伙

2020-10-01 14:38:10 1303

原创 『Flutter-绘制篇』实现炫酷的雷电特效

前言前不久,利用周末时间学习并完成一个简单的 Flutter 项目 - 简悦天气,简约不简单,丰富不复杂,这是一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径、语音播报以及生活指数等服务,支持定位、删除、搜索等操作。下图为主页效果,点击下载 进行体验:项目中运用了大量的自定义绘制 widget,首页丰富的 自定义 chart 效果和炫酷的天气背景动效。天气背景动效在不同的天气气象下展示不同的效果。目前一共实现了 15 种类别,其中有,晴、晴晚、多云、多云晚、阴天、小中

2020-09-19 13:21:35 542 2

原创 『Flutter-绘制篇』实现梦幻的晴晚流星效果

前言前不久,利用周末时间学习并完成一个简单的 Flutter 项目 - 简悦天气,简约不简单,丰富不复杂,这是一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径、语音播报以及生活指数等服务,支持定位、删除、搜索等操作。下图为主页效果,点击下载 进行体验:项目中运用了大量的自定义绘制 widget,首页丰富的 自定义 chart 效果和炫酷的天气背景动效。天气背景动效在不同的天气气象下展示不同的效果。目前一共实现了 14 种类别,其中有,晴、晴晚、多云、阴天、小中大雨、小

2020-09-13 21:19:58 735 2

原创 『Flutter-绘制篇』自定义View在天气 APP 中的实战应用.md

前言前不久,利用周末时间学习并完成一个简单的 Flutter 项目 - 简悦天气,简约不简单,丰富不复杂,这是一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径以及生活指数等服务,支持定位、删除、搜索等操作。下图为主页效果,可以 点击这里 进行下载 apk 体验:开始本身作为天气 APP,自定义绘制自然少不了,首页多样的背景效果,炫酷的雨雪效果,展示当前空气质量和体感的圆环效果,动态温度折线图和日出日落图。其实 pub.dev 上已经有不少 chart 插件,提供丰

2020-09-05 16:56:38 269

原创 『Flutter-绘制篇』实现炫酷的雨雪特效

前言前不久,利用周末时间学习并完成一个简单的 Flutter 项目 - 简悦天气,简约不简单,丰富不复杂,这是一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径以及生活指数等服务,支持定位、删除、搜索等操作。下图为主页效果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdKPCMM6-1598962223360)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/76bdbd8781d64

2020-09-01 20:10:59 525

原创 『Flutter』一款风格简约功能丰富的天气

最近利用两周的周末和下班时间入坑了 Flutter,简单的学了一下基础的 widget 后,就准备拿一个项目练练手。什么项目既实用,有不乏技术,当时是写一个天气 app 了,因此 简悦天气 因此诞生。简约不简单,丰富不复杂一款简约风格的 flutter 天气项目,提供实时、多日、24 小时、台风路径以及生活指数等服务,支持定位、删除、搜索等操作。作为 flutter 实战项目,包含状态管理、网络请求、数据缓存、自定义 view、自定义动画,三方统计,事件管理等技术点,实用且丰富。体验点击下载链接下

2020-08-29 21:59:19 414

原创 『Android Tip』-- Shortcuts 快捷方式

开篇Shortcuts 功能跟随着 Android7.1 Nougat 一起诞生,其主要目在于用户可以定义一些常用的操作路径,以快捷方式的形式存在,这些快捷方式展示在可以支持的设备上,帮助用户快速启动常用或者推荐的页面和行为。最近也是有 Shortcut 相关的需求需要开发,特此进行了总结,希望可以帮助到大家。ShortcutsDemo概览快捷方式一般是以两种方式存在:一种通过 长按 应...

2019-05-14 18:15:05 354 1

原创 『技术分享』-- 使用极光 IM 构建聊天功能

前言距离上次极光征文不知不觉已经过了将近一年的时间,先感谢上次的征文比赛,通过 《我和 Android 推送的时间简史》 这篇文章获奖,这次又厚着脸皮再次参与,因为项目一直很忙,只得利用周末时间准备 demo 素材和写文章,不好之处,多多见谅。上一篇文章主要讲述了 我跟 极光推送 的关系,以及简单的描述了其集成和使用,作为三个项目都在使用极光推送的我,对其了解也是相当多的,当然坑也踩了不少,...

2019-01-20 12:42:49 5064 2

原创 『数据结构与算法』——栈

定义先入后出,有点类似将书放在抽屉里,先放进去的书,如果想拿到他,必须将他上面书拿完才可以,粗俗的形容可以这么比喻:“吃了吐”叫栈,“吃了拉”叫队列,话粗理不粗。栈是一种“操作受限”的线性表,只允许一段插入和删除数据。从功能上看,数组或链表确实可代替栈,但是在特定的情况中,数组和链表暴露的接口太多,操作上虽然灵活,但是很多条件不可控,使用上当然容易出现问题。当某个数据集合只涉及在一段插入和删...

2018-12-01 15:32:14 232

原创 『数据结构与算法』——数组

定义数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。连续内存,类型相同我们知道,计算机会给每个内存单元分配一个地址,计算机通过地址来访问内存中的数据。当计算机需要随机访问数组中的某个元素时,它会首...

2018-12-01 15:31:47 201

原创 『数据结构与算法』——链表

底层存储结构与 数组 对比,数组需要一块 连续的内存空间 来存储,对内存要求很高。如果我们申请 50MB 的内存,即便内存的剩余内存大于 50MB,但是如果内存不是连续的,也是很有可能申请失败。而 链表 与之相反,它并不需要一块连续的内存,通过 指针 将一组 零散的内存块 串联起来使用。下面的图片可以看出两者之间的区别:链表分类单链表单链表每个节点有两部分组成,数据 和 后继指针 n...

2018-12-01 15:31:14 300

原创 『数据结构与算法』—— 队列

定义有一定的业务需求就会有对应的技术或数据结构产生。我们都知道 CPU 的资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反过多的线程反而会导致 CPU 频繁切换,处理性能下降。所以线程池的大小一般都是综合考虑处理任务的特点和硬件环境,来事先设置的。队列的特点 先进先出,可以想象成排队买票,先来的先买。最基本的操作就是 入队和出队,所以队列跟栈一样,也是一种 操作受限的线性数据结构。...

2018-12-01 15:29:46 238

原创 『数据结构与算法』—— 复杂度

重要性复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。测试结果非常依赖测试环境测试结果受数据规模的影响很大我们需要一个不用具体的测试数据来测试,就可以粗略地估计算法的执行效率的方法。大 O 复杂度表示法 int cal(int n) { int sum = 0; int i = 1; for (; i <= n;...

2018-12-01 15:28:48 141

原创 『进阶之路』—— 线程池

线程概念说到线程池,不得不说一下线程。无论是 java 还是 Android ,线程都是一个非常重要的概念,它是所有基础操作的载体,无论是更新 UI,或是请求网络等耗时操作,都需要在线程中完成。众所周知,Android 中将线程分为 主线程 和 工作线程。那主线程和工作线程有什么区别的,其实本质上没太大区别,主线程因为是要跟用户直接打交道,实时交互性强,不能有其他的耗时操作阻塞...

2018-08-01 16:02:38 174

原创 『技术分享』-- 我的第一个 RN 项目-趣闻

前言之前利用自己的业余时间入门了微信小程序,并写了一个入门项目 我的第一个微信小程序-趣闻 ,整体效果和之前写的 kotlin-android 版的 趣闻 模块和功能上没有什么区别。不得不说,相比较 Android ,小程序开发起来真的是很舒服,完善的 API和封装全面的组件,安装官方详细的开发文档,很快就可以开发出一款简单便捷的应用。我们都知道,微信小程序的开发运用的大部分是前端的知识,...

2018-06-26 17:40:14 344

原创 『技术分享』—— 我的第一个微信小程序-趣闻

前言我去年3月份写了一个小项目 快毕业了,撸一个小项目(趣闻) 作为自己的毕设项目,当时接触 Android 也才半年的时间,所以写的略简单,偏入门级别的,有兴趣的话可以 clone 看一下。趣闻小程序 的火热程度我就不多说了,我之前对这个就蛮有兴趣的,于是花了大概5天的时间,完成了 学习-入门-写项目 这一套流程。作为前端 0 基础的我都这么快入门了,可想而知,微信小程序的封装是相当好...

2018-06-15 15:35:54 897

原创 『Android Tip』-- 模拟手势操作

平时 Android 开发中总会遇到奇葩的功能或者需求,这里做个记录和积累,以便后面开发过程中遇到类似的问题,可以快速的解决。Android tips前言这个版本终于快结束了,历时一个月的时间,这段时间里重复着开发、找 BUG 和解 BUG 的工作,人已经快麻木了,不过最后看到 自己的开发成果还是蛮欣慰的,这可能就是程序员最简单的乐趣吧。这里看一下整体的效果图,一些细节不方便展...

2018-05-29 21:55:45 1463

原创 Thinking-in-Java-读书笔记-14-类型信息

Thinking in java 读书笔记 运行时类型信息使得你可以在程序运行时发现和使用类型信息。 Java 通过两种方式在运行时识别对象和类信息的,一种是 传统的RTTI,(RunTime Type Identification 运行时类型定义),假定我们在编译时已经知道了所有的类型。第二种是 反射机制,它允许在运行时发现和使用类信息。为什么需要 RTTI啥叫多...

2018-04-15 16:36:10 239

原创 Thinking-in-Java-读书笔记-13-字符串

Thinking in java 读书笔记不可变 String String 对象是不可变的,具有只读特性。public class Immutable { public static String upcase(String s) { return s.toUpperCase(); } public static...

2018-04-15 16:34:09 229

原创 Thinking-in-Java-读书笔记-12-通过异常处理错误

Thinking in java 读书笔记 Java 的基本理念是 「结构不佳的代码不能运行。发现错误的理想时机是在编译阶段,也就是在你试图运行程序之前。然而,编译期间并不能找出所有的错误,余下的问题必须在运行期间解决。这就需要错误源通过某种方式,把适当的信息传递给某个接受者—接收者将知道如何正确处理这个问题。基本异常异常情形是指阻止当前方法或作用域继续执行的问题。除...

2018-04-15 16:32:30 162

原创 『自定义View实战』—— 客服好评View

在工作中难免遇到自定义 View 的相关需求,本身这方面比较薄弱,因此做个记录,也是自己学习和成长的积累。自定义View实战.前言这个版本主要的任务就是完成环信客服系统的集成,上一篇文章 仿IOS下载View 也是这个版本开发需求中的一小部分,那今天介绍一下另一个小需求 客服好评。 客服好评 的功能在于用户对客服服务态度和质量的评价,也是作为考核客服服务的标准。相关代码已上传 ...

2018-03-31 16:41:23 229

原创 『程序员必备软件』—— 短小精悍的GIF录制软件LICEcap

平时学习和开发的过程中,总有一些软件可以提高工作或者开发效率,特此记录一下,并附上简单的入门教程,方便自己查找,但愿也可以帮助到您 程序员必备软件前言想必经常写博客的小伙伴经常会需要上传运行的效果图,也就是 GIF 动态图,目前有很多方式可供选择。先使用视频录制软件(比如QQ自带的录制),然后通过某些转换工具(比如 GIF Brewery)将视频文件转换成 GIF格式或...

2018-03-24 21:23:02 303

原创 『自定义View实战』—— 仿ios图标下载view

在工作中难免遇到自定义 View 的相关需求,本身这方面比较薄弱,因此做个记录,也是自己学习和成长的积累。自定义View实战## 前言最近项目需要接入环信客服 SDK ,我配合这同事完成,其中我负责文件下载这部分。因为时间比较紧张,8 天的时间完成 环信客服模块 的接入,就直接用了环信提供的 UI 控件,但是一些细节的部分, UI 还是会给出设计图,按照设计图完成最终效果。...

2018-03-23 20:36:31 493

原创 『程序员必备软件』—— 编辑预览于一身的 Typora

前言作为程序员,相信对 MarkDown 语法并不陌生,平时知识的积累,博客的编写或者是工作的报告都或多或少会用到。 Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。那具体的介绍和使用语法就不用过多介绍,较为简单,网上一搜一大把。对应的编辑器也很多,比如之前使用的 MacDown,或者是笔记软件,更或者是博文平...

2018-03-17 16:26:56 1893

原创 Thinking-in-Java 读书笔记-11-持有对象

原文地址 如果一个程序只包含固定数量的且其生命期都是已知的对象,那么这是一个非常简单的程序。通常,程序总是根据运行时才知道的某些条件去创建新对象,在此之前,不会知道所需对象的数量,甚至不知道确切的类型。为解决这个普遍的编程问题,需要在任意时刻和任意位置创建任意数量的对象。所以,就不能依靠创建命名的引用来持有每一个对象。泛型和类型安全容器在使用Java SE5之前的容器...

2018-03-16 20:58:15 170

原创 Thinking-in-Java 读书笔记-10-内部类

原文地址 可以将一个类的定义放在另一个类的定义内部,这就是内部类。前言内部类非常的有用,因为它允许你把一些逻辑相关的类组织在一块,并控制位于内部的类的可视性,内部类和组合是完全不同的概念,这点很重要。class Outer { int a =2; int f () { System.out.println("Outer.f"); ...

2018-03-16 20:57:12 174

原创 Thinking-in-Java 读书笔记-9-接口

原文地址 接口和内部类为我们提供一种将接口与实现分离的更加结构化的方法。接口interface关键字使抽象的概念更买进一步,abstract关键字允许人们在类中创建一个或者多个没有任何定义的方法,但是没有提供任何相应的具体实现,这些实现是由此类创建者创建。interface这个关键字产生一个完全抽象类。它根本就没有具体的实现。interface不仅仅是一个极度抽象的类,因...

2018-03-16 20:56:28 167

原创 Thinking-in-Java 读书笔记-8-多态

原文地址前言记得刚接触Java的时候,整天被老师灌输的就是「封装」、「继承」、「抽象」和「多态」,因为这是面向对象语言基本的特征。尴尬的是,直到大学毕业了也没有彻底搞懂…多态通过分离「做什么」和「怎么做」,从另一个角度将接口和实现分离开来。多态不但能够改善代码的组织结构和可读性,还能创建可扩展的程序–即无论在项目最初创建时还是需要添加新功能都可以生长的程序。「封装」通过合并特征...

2018-03-16 20:55:42 141

原创 Thinking-in-Java 读书笔记-7-复用类

原文地址 复用代码是 Java 众多引人注目的功能之一。但要想成为极具革命性的语言,仅仅能够复制diamante并对之加以改变是不够的,它还必须能够做更多的事情。组合用法这个用户最为常用,即在新建的类中,持有别的对象的引用。假设你需要某个对象,它要具有多个 String 对象,几个基本类型数据,以及另一个了类的对象,这种使用在开发中最为常见。对于非基本类型的对象,必须将其引用...

2018-03-16 20:54:49 224

原创 Thinking-in-Java 读书笔记-6-访问权限控制

原文地址前言我还记得第一次面试的时候,就是问 public、protected和private的区别,当时技术很渣,虽然知道是什么意思,但是表述的不是那么清楚,当时搞得自己很紧张,后面的问题也没有回答的很好。。。 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关Java 访问权限修饰词public使用关键字public关键字,就意味着public之后紧跟...

2018-03-16 20:53:29 148

原创 Thinking-in-Java-读书笔记-5-初始化与清理

随着计算机革命的发展,不安全的编码方式逐渐成为编程代价高昂的主因之一。前言初始化和清理是涉及程序安全的了两个问题,如果处理不好的话,很容易在运行的时候出现奔溃,造成很不好的用户体验。首先初始化,在开发的过程中,每当创建基本类型或者是其他对象,都会下意识的初始化,虽然全局变量会默认有个初始值,局部变量编译时期就会报错,但是我们还是要养成创建同时初始化的好习惯。至于清理,不像 C/...

2018-03-03 17:07:13 158

原创 Thinking-in-Java-读书笔记-4-控制执行流程

就像有知觉的生物一样,程序必须在执行过程中控制它的世界,并做出选择。在 Java 中,你要使用执行控制语句来做出选择。作为一名程序员,尤其经常接触业务需求的开发人员,那流程的接触是必不可少的,基本的用法也是很熟练,所以在这就不介绍流程的基础知识了,直接看代码。if elseprivate static void checkGrade(int grade) { ...

2018-03-03 17:06:30 135

原创 Thinking-in-Java-读书笔记-3-操作符

在最底层,Java 中的数据是通过使用操作符来操作的。作为一个开发将近一年的程序员,对这些基本的操作符的掌握还是算熟练的,因此就不过多介绍了,毕竟大家基本上都知道,但是还是把内容过了一遍,笔记就不赘述了。一切的理论都不如实践来的实际,遇到模棱两可的,不如直接通过程序跑一下进行验证。1. 赋值使用「=」,意思是 取右边的值,把它复制给左边,右值可以是任何数、变量或者是表达式,但左...

2018-03-03 17:05:20 140

原创 Thinking-in-Java-读书笔记-2-一切都是对象

如果我们说另一种不同的语言,那么我们就会觉得一个有些不同的世界。 —Luduing Wittgerstein(1889-1951)1. 用引用操作对象尽管一切都是对象,但是操纵的标识符实际上是对象的一个「引用」,可以看做成日常生活中电视机和遥控器的关系。只要拥有遥控器,就能保持着与电视机的连接,对电视声音和节目的调整,实际上都是对遥控器(引用)的操作。Strin...

2018-03-03 17:04:41 162

原创 Thinking-in-Java-读书笔记-1-对象导论

前言从本章开始,逐渐记录笔者在阅读「Thinking in Java」时,内容的积累、代码的实践和个人编程的心得,重要的是个人的成长。正式工作将近一年的我,有必要重新温故一下Java的核心基础,巩固自身的硬实力,从根本感受Java语言的魅力,而不是局限于敲代码,完成产品需求。更重要的是领悟每种语言的特色,融入其中,提升自己,感受学习带来的快乐!足以!正文1. Java 五个...

2018-03-03 17:03:33 232

原创 hexo 博客小功能添加-评论、萌妹纸、相册、字数统计...

前言前段时间 个人博客全新上线(阿里域名+GitPages+hexo+Yelee) 搭建的博客 我的博客,基础的功能已经实现了,想着既然有了自己的博客就要好好的维护(折腾)一下,于是便参考着别人的博客添加一些额外的小功能。首先我的博客是基于yelee风格,作者也是在 Hexo-Theme-Yilia的基础上进行修改,增加了一些新的功能,个人也是喜欢这种简洁的风格,觉得还不错就使用了该主题,...

2018-02-27 20:51:59 6095 8

原创 个人博客全新上线(阿里域名+GitPages+hexo+Yelee)

前言新年新气象,狗年也是本命年,因此决定将博客重新搞一波。其实之前已经搭好过博客,因为前段时间换了mac,之前的环境和博客的内容都没有备份,索性就重新开始吧。那展示一下我的新的博客地址:http://xiaweizi.cn在来一波动态图演示:电脑端:手机端:整个的搭建,一些的配置和博客的迁移也是花了我一整个下午和晚上加班的时间,自我感觉看起来很舒服,那接下来我就大概...

2018-02-14 13:09:19 318

原创 Android 分享会:Material Design 在 Android 中的应用

前言我刚来这个公司的时候,每个周三都会有分享会,主题自定,分享对象尽量是面向大众,一开始觉得不错,但是到后面发现分享的内容不是那么有营养,而且积极性不是很高,都是当做任务进行分享。 程序员因为较为腼腆,分享的人较少,大部分都是客户部、分析部或者推广部的分享,久而久之,氛围就比较消极。为了提高咱们程序员发言的积极性,增添技术部的沟通氛围,决定之前的分享形式不变,但是改为月末一次,技术部的分享...

2018-02-08 21:10:08 243

Charles破解版,打开即用(Windows版)

打开即用,破解版,可以用于Android调试重定向,简单粗暴

2017-11-28

空空如也

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

TA关注的人

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