
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一、JetPack 简介以前在没有 Jetpack 的时候,大家项目中最常使用的就是 MVP 或者 MVVM 等设计模式来解耦逻辑和UI,当然这非常考验个人的设计能力和经验。Google 貌似也意识到了这个问题,在 2018推出了一个全新的架构组件库 – Jetpack。Jetpack 适合一个开发组件工具库,它的主要目的是帮助我们编写出更加简洁的代码,并简化我们的开发开发特点;Jetpack 它
作者: 夏至 欢迎转载,也请保留这份申明,谢谢。1、需求分析App 在线升级是比较传统的修复bug的一种方式,一般添加新功能或者说修改一下比较严重的bug的时候,我们都是会升级apk来实现我们的目的;当然,其实一些紧急的bug的其实是用 热修复 的方法,毕竟有时候只是一行代码出了问题,而你却要升级一整个apk,下载安装等等,除了代价有点高,也会影响口碑的。等等,你都说成这样,还学习这个干
作者 夏至,欢迎转载,但请保留这段申明说到 MVP ,大家应该都不陌生了,由于其高度解耦等有点,越来越多的项目使用这个设计模式;然而,有点虽在,缺点也不少,其中一个就是类多了很多,而且 V 与 P 直接要项目通信,那么 P 就得持有 V 得实例,但如果 activity 挂掉了,如果没有对 V 进行释放,又有导致内存溢出得问题,而且,那么多的接口函数,看得人眼花缭乱,也使得很多人在使用这个模式的时
作者: 夏至 欢迎转载,也请保留这份申明,谢谢。1、什么是MVPMVP,全称 Model-View-Presenter。它是从 MVC中演变过来的,它的基本思想是相通的;在MVP中,View更加专注于处理数据的可视化以及用户交互,让Model专注于数据的处理,而Presenter则,提供 View 与 Model 之间数据的纽带,用于交互与数据传输;如下面这张图:可以看到,在View 与 Mod
最近在代码评审的时候,竟然看到同事使用 kotlin 的forEach,他以为使用 return@forEach 就可以退出了,相当于 break,但其实并不是,只是相当于 for 的 continue。一. 问题复现那么,如何正确退出 forEach呢?先看这段代码,打印出什么?listOf(1, 2, 3, 4, 5).forEach {if (it == 3) return@forEachp
在 as 创建kotlin工程时,发现特别慢且超时,原因也理解,就是一些插件和配置需要翻墙。网上也有配置,但有几个点需要注意。当你新建工程,发现 gradle 实在慢,注意这个时候,不要改 gradle 配置后,立即重启,这样虽然能关掉后台进程,但第二次进来后,该了 gradle 也不会出现 try again 等选项了,却 run 这里,也是没有设备可选的。注意!不要restart,不要...
系列文章:Android 使用socket.io 实现实时通信在上章中,我们学习了 socket 的基本使用。但都是基于TCP的,这篇,我们来学习一些 Socket 的UDP 的操作,并了解多播和广播的概念,为接下来的局域网文件传输,打上一个很好的基础。一、认识 UDP与 TCP 不同,UDP 是一个面向数据包的传输层协议,进程的每一个输出操作都正好产生一个UDP数据报,并组装成一份待...
让你快速实现安卓上 webrtc 的开发
前面已经学习了经典蓝牙开发,学习了蓝牙的配对连接和通信,又通过 配置 A2DP 文件,实现手机和蓝牙音响的连接和播放语音。这篇,我们来学习蓝牙开发的最后一章,低功耗蓝牙 BLE,也就是我们常说的蓝牙 4.0 。今天要完成的效果如下:中心设备外围设备一. 简介与传统蓝牙不同,低功耗蓝主要为了降低设备功耗,支持更低功耗(如心率检测仪,健身设备)等设备进行通信。Android 在 4.3(API 18)
最近遇到需要截图的功能,发现直接使用 GLES30.glReadPixels 竟然达到了2s多,且会阻塞卡顿。因此有必要学习一下 FBO 了。








