自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 浅谈如何写好一个接口

前言从工作至今,见过 N 多个接口。那接口,叫一个百花齐放,奇形怪状,怎么写都有。或许 公司没有一套约定俗成的后端编码规范吧。下面分享一下我 “多年” 编写接口经验。返回数据格式在和前端对接接口时,我们一般会返回 三大件数据给到前端,如下代码所示:@Datapublic class Response<T> { private int code; private String message; private T data;}Code:接口状态

2022-02-17 09:51:26 10529

原创 [解锁新姿势] 优化参数前置校验

前言即上篇提到 优化通用返回参数,这次我们来看看 一些前置校验 优化的骚操作场景我们常常在 Service 层会做一些前置条件的判断,如判断这个用户是否存在,如下代码所示:public void create(UserCreateDTO dto) { // ----> 前置判断 User existUsername = userRepository.findByName(dto.getName()); Fire.checkNotNull(existUserna

2022-01-27 12:06:27 868

原创 [解锁新姿势] 封装通用返回值

前言最近入坑了一家坑爹的公司,巨型单体,那代码,脑壳痛。????山遍地是,竟没有一片净土!差点被同化了致敬那些在屎山开发的程序猿谁说站在光里的才算英雄 ?你们才是!场景如果我们的表,没有冗余数据且实时查询时对应值时,都需要手动的 查询对应值,并赋值,如下代码所示:public CardVO query(QueryDTO dto) { Card card = CardRepository.findById(dto.getId()); CardVO cardVO = n

2022-01-25 10:06:39 450

原创 为什么要 Java 集成测试呢?

为什么要 Java 集成测试呢?何为集成测试?首先我们先了解什么是集成测试?集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。 ——百度百科​举个????,譬如下面这些测试属于 集成测试:跟 数据库有交互进行了 网络间通信调用了 文件系统需要你对环境作特定的准备(如编辑配置文件)才能运行的简而言之,强依赖外部环境的测试,绝大部分是集成测试。唠叨记得 刚刚开始接触测试的时候,不以为然,觉得编写测试

2020-12-17 13:04:11 712 2

原创 Kotlin的圣光机甲——KtArmor通用流程篇 (二)

前言在前一篇中,介绍了 KtArmor—MVVM 简单的使用方法,但是这往往不是全部。在持续迭代、维护下,发现功能越写越多,也相应复杂起来。所以后续,我尽可能编写详细 说明文档,并且在源码编写 注释废话不多说,进入正文。ViewModel回到上文所说的 Login 示例,我们在 LoginViewModel,通过quickLaunch DSL 方式,发起网络请求。如下代码所示:cla...

2020-04-03 15:09:41 246

原创 新鲜出炉的 MVVM 脚手架——KtArmor-MVVM

前言时隔半年,我又又又回来了!继 KtArmor-MVP 版推出后,收获到 “不少人” 反响,期望有个 MVVM 版。我便立马投入 KtArmor-MVVM的开发中,由于工作原因,开发断断续续。缺乏动力,和所谓的灵感。 导致迟迟未能 推出 KtArmor-MVVM 版。最近在 KtArmor-MVP 基础上有所突破,使得 KtArmor-MVVM 更加完美。希望大家喜欢~什么是KtArm...

2020-02-26 10:11:48 504

原创 [解锁新姿势] 回想起被 `if-else` 支配的恐惧,我们要打倒 if - else

前言[解锁新姿势] 兄dei,你代码需要优化了在之前文章说到,简单 if-else,可以使用 卫语句 进行优化。但是在实际开发中,往往不是简单 if-else 结构,我们通常会不经意间写下如下代码:-------------------- 理想中的 if-else --------------------public void today() { if (isWeekend()...

2019-12-11 09:27:21 193

原创 [即学即用] Android开发——状态模式

前言相信 “大多数” 伙伴看了相关设计模式书籍、文章,一看就会,一写就 ***在实际开发中也很少用上,或者说不知道在哪用,缺少应用场景,久而久之就忘记了~在这篇文章中,我分享一下,我在Android 开发中使用到到设计模式——状态模式,希望大家喜欢~背景假设我们有这样一个需求 (文章类 App)当用户点击头像的时候未登录状态:点击头像,则跳转到 登录页面在进行登录登录状态:点击头...

2019-11-30 14:22:34 118

原创 [解锁新姿势] 兄dei 我感觉你在写bug

前言:继上篇 [解锁新姿势] 兄dei,你代码需要优化了 介绍一些代码的优化的小技巧。但是我们除了在代码编写上需要优雅, 还需要编写对应的测试用例, 以此来保证代码的质量。在这篇我们继续在学习如何编写有保证质量的代码。背景在刚刚学习编程的时候,由于没有接触过单元测试/TDD 相关知识, 只是知道有这么回事,不以为然。导致工作的时候,拿到一个新需求,只知道埋头苦写。会出现以下场景:产品...

2019-11-09 00:41:24 296

原创 [解锁新姿势] 兄dei,你代码需要优化了

黑客(程序员)也是创作者,与画家、建筑师、作家一样。 ——《黑客与画家》前言在我们平常开发过程中,由于项目时间紧张,代码可以用就好,往往会忽视代码的质量问题。甚至有些复制粘贴过来,不加以整理规范。往往导致项目后期难以维护,更别说后续接手项目的人。所以啊,我们要编写出优雅的代码,方便你我他,岂不美哉?下面分享一些我在开发中常用的编码中小建议,如有不妥,欢迎大家一起交流学习。卫语...

2019-10-30 20:53:01 261

原创 Kotlin的魔能机甲——KtArmor网络调用封装(四)

前言继上次分享KtArmor的基础使用方法, 在网络请求逻辑上,在调用上,总感觉不够优雅直观,嵌套过深的问题,这样使得代码看起来臃肿,不美观。所以在这篇中,分享一下我在网络请求调用方面的 封装之路。希望大家喜欢~准备在演示实例过程,我才用采用的是 玩Android 提供的接口 API。 框架方面,我采用的是 Retrofit + OkHttp + Coroutine,示例演示是以 Kotli...

2019-10-14 11:26:01 138

原创 IDEA插件, AndroidStudio上无效

IDEA插件, AndroidStudio上使用无效牢骚解决方案牢骚由于这段时间换个mac电脑(之前是Window),在mac上导入idea plugin 项目 , 准备就绪,正准备开发的时候,发现AndroidStudio 安装 idea 导出的 plugin jar 包时,发现plugin 无效了。一开始以为mac 环境问题,捣鼓了一晚上。各种google最后发现是 jdk的锅。解决方案...

2019-09-18 23:02:30 905

原创 Kotlin的魔能机甲——KtArmor(三)

前言继上篇说到, KtArmor-MVP的插件使用。我们可以快速创建基本的模板代码,但是在编写业务代码时候,不熟悉KtArmor-MVP框架, 不知其然,无法驾驭这个魔能机甲 。所以这篇我先从BaseActivity 开始说起,介绍KtArmor—MVP 的用法,“深入源码”解析,带你走进 KtArmor-MVP。ActivityKtArmor-MVP 框架主要包含3个主要的Activity...

2019-08-14 17:32:02 114

原创 Kotlin的魔能机甲——KtArmor插件篇(二)

前言Kotlin的魔能机甲——KtArmor(一)在上一篇,介绍到了KtArmor简单的LoginDemo示例。一个登录功能,我们需要创建四个类,过于繁琐。有没有更便捷的方法的。那肯定!KtArmor 框架还有与之对应 KtArmor-MVP 插件,帮助开发者快速生成对应模板代码(Activity, Presenter, Model, Contract)。插件演示插件下载插件下载Kt...

2019-07-30 18:09:53 123

原创 Kotlin的魔能机甲——KtArmor(一)

前言学习了Kotlin有一段时间了, 每次写项目/Demo的时候, 总是用到网络请求、MVP、MVVM、常用工具类、通用自定义View, 索性把这些整合到一起, 搭成一个Android的脚手架——KtArmor.什么是KtArmor ?KtArmor 寓意着 为Android 赋予战斗装甲, 方便开发者快速进行Android 开发。节约开发者开发时间。为了满足开发者需求, 我整合了两个分支,...

2019-07-25 19:50:57 235

原创 Android音频开发——对讲机实时语音对话

Android音频开发——对讲机实时语音对话前言由于公司需求, 安排我研究对讲机的实时语音对话. 对讲机点击按钮发起对话, Android 端接听, 然后进行语音对话.研究了几天第三方对讲机Demo,发现这个demo只是简单播放音频, 而且还没有提供Android客户端相关代码,Java版也要自己看底层实现,没办法只有自己动手造, 我只想说 *** !!!,准备工作一开始本来打算用Web端...

2019-07-03 15:07:28 6673 5

原创 用心打造——Kotlin 版玩Android

前言:继上次用 kotlin 编写了 一款简单 豆瓣电影 app 后。体验到了kotlin 的魅力。加上这段时间学习了 MVP 模式、MVVM模式,心痒痒,就像做个 app 来练练手,正当犹豫要选择哪一种来练手的时候,无意中看见另一种的模式艺术图片应用 T-MVVM~ 感觉说的挺有道理的。好奇心驱使我去试一下这种模式,说干就干。玩Android玩Android 采用的是 LiveData+V...

2018-10-29 18:37:38 287 2

原创 MPAndroidChart 3.0——BarChart(一)

概要Github: MPAndroidChartMPAndroidChart 是 一个强大的 Android图表视图/图表视图库,支持线条 - 饼图 - 雷达 - 气泡和烛台图表以及缩放,拖动和动画。使用我们先从简单的 BarChart (条形图)开始使用。(MPAndroidChart 2.版本和 3.版本。部分 API 有所改变)GradleProject level build...

2018-09-27 02:11:51 14883 1

原创 Android——高德地图地点搜索框

Android——高德地图地点搜索框效果图首先build.gradleMainActivity然后InputTipsActivity最后效果图首先实现效果如图。由于搜索采用的是 高德地图搜索 SDK 所以需要到 高德地图开发者注册账号 获取到 appKey注册成功进入个人中心 创建对应的应用build.gradle创建项目,导入 gradle// 高德地图compile 'co...

2018-09-23 22:01:17 7504 4

原创 初次使用 kotlin 开发一款 豆瓣 App

初次使用 kotlin 开发一款 豆瓣 App概要初学kotlin,所以做这个 豆瓣 app 来练练手,感受了 kotlin 的魅力~ App 数据采用 豆瓣 api (如果不小心侵权了,sorry,联系我,我把它删除了,谢谢.) 由于提供 api 数据有限,暂时只实现 电影,和 图书功能。后续有时间会完善~App 展示API豆瓣提供框架Anko...

2018-08-17 03:29:06 373

原创 Android——自定义View随手自由移动

参考《Android开发艺术探索》最终效果分析我们实现一个跟手自由移动的效果。自定义View,拖动它可以让它在整个屏幕随意移动。 这个View实现起来很简单。我们只需要重写它的 onTouchEvent()方法并处理ACTION_MOVE事件,根据两次滑动之间的距离就可以实现它的滑动了。如下:首先打开 Android Studio,新建 ViewTest 项目。 由于我们需要用到动画兼容库n

2017-11-29 12:09:53 873

原创 Android——BroadcastReceiver

Android——BroadcastReceiver (一)Broadcast Receiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,那就是Bro

2017-11-05 12:57:34 342

转载 《Android 群英传》读书笔记:自定义 View -- 弧线展示图

《Android 群英传》读书笔记:自定义 View – 弧线展示图参考: 《Android 群英传》 《Android 群英传》读书笔记:自定义 View – 弧线展示图最终效果图:分析:很明显,这个自定义View其实分为三个部分,分别为中间的圆形,中间显示的文字和外圈的弧线。新建项目 :打开 Android Studio,新建 ViewTest 项目。 新建一个CircleView

2017-11-04 10:46:43 264

KtArmor-MVP-Plugin.jar

KtArmor-MVP 快速开发插件, 帮助开发者快速生成对应模板代码(`Activity`, `Presenter`, `Model`, `Contract`)。

2019-07-30

空空如也

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

TA关注的人

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