移动开发

兄弟们都在夸我 “领姨夹钱“ - 记我为兄弟们开发的一款欠酒记录小程序

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏19年编写主要介绍使用JAVA开发RabbitMQ的系列教程&

Android-推荐一个检测内存泄漏的库(LeakCanary)

图片来源网络,入侵必删 在Android开发当中,内存泄漏是会影响用户体验的。LeakCanary开源库是一个常见的定位内存泄漏的开源库,这篇博客来分享一下它的使用,让我们的应用更加的丝滑。 LeakCanary 一个帮助开发者检测内存泄漏以及Application Not Responding的开源库。更多具体的简介请查看wiki 引入项目 dependencies { // d

基于Android的记录生活APP_springboot+vue

开发语言:Java 框架:springboot +Android JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat12 开发软件:eclipse/myeclipse/idea Maven包:Maven3.6 系统展示APP

ThreadLocal的简单理解

[TOC] 一、背景 最近有人问我ThreadLocal是如何做到在每个线程中的值都是隔离的,此处写篇文章来简单记录下。 二、ThreadLocal解决的问题 该数据属于该线程Thread自身,别的线程无法对其影响。(需要注意:需要调用ThreadLocal的remove方法) 不存在线程安全问题。(因为ThreadLocal类型的变量只有自身的线程可以访问,所以这点是成立的。) 比如:

MySQL基本查询

目录Create插入替换Retrieve(读取)select(确定列)​where条件(确定行)order by语句limit(分页)Update(更新)Delete(删除)截断表去重表数据聚合统计聚合函数group by句子的使用Create插入 语法: INSE

Android 获取手机已安装的应用列表

1、扫描已安装的应用列表 var queryIntentActivities = mutableListOf<ResolveInfo>() val intent = Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER) if (android.os.Build.VERSION.S

Android 架构之 MVI 完全体 | 重新审视 MVVM 之殇,PartialChange & Reducer 来拯救

这是 MVI 架构的第三篇,系列文章目录如下: Android 架构之 MVI 雏形 | 响应式编程 + 单向数据流 + 唯一可信数据源 Android 架构之 MVI 初级体 | Flow 替换 LiveData 重构数据链路 Android 架构之 MVI 完全体 | 重新审视 MVVM 之殇,PartialChange & Reducer 来拯救 Android 架构之 MVI 究

Lifecycle:生命周期感知型组件的基础 —— Jetpack 系列(1)

请点赞,你的点赞对我意义重大,满足下我的虚荣心。 🔥 Hi,我是小彭。本文已收录到 GitHub · Android-NoteBook 中。这里有 Android 进阶成长知识体系,有志同道合的朋友,跟我一起成长。 前言 生命周期是 Activity 的核心特性之一,也是 Android 视图开发无法规避的重要问题。 为了更加健壮地处理生命周期问题,Google 的解决方案是将

Android10.0 锁屏分析——KeyguardPINView PIN锁分析

学习笔记: PIN 解锁流程跟Android10.0 锁屏分析——KeyguardPatternView图案锁分析一样,这里就不过多讲解了。 在这里主要分析下 PIN 键盘的按钮事件。 1. 确认按钮 // KeyguardPinBasedInputView.java @Override protected void onFinishInflate() { // 省略部分