移动开发
基于Android的记录生活APP_springboot+vue
开发语言:Java
框架:springboot +Android
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7
数据库工具:Navicat12
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.6
系统展示APP
Android10.0 锁屏分析——KeyguardPINView PIN锁分析
学习笔记:
PIN 解锁流程跟Android10.0 锁屏分析——KeyguardPatternView图案锁分析一样,这里就不过多讲解了。
在这里主要分析下 PIN 键盘的按钮事件。
1. 确认按钮
// KeyguardPinBasedInputView.java
@Override
protected void onFinishInflate() {
// 省略部分
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 的解决方案是将
ThreadLocal的简单理解
[TOC]
一、背景
最近有人问我ThreadLocal是如何做到在每个线程中的值都是隔离的,此处写篇文章来简单记录下。
二、ThreadLocal解决的问题
该数据属于该线程Thread自身,别的线程无法对其影响。(需要注意:需要调用ThreadLocal的remove方法)
不存在线程安全问题。(因为ThreadLocal类型的变量只有自身的线程可以访问,所以这点是成立的。)
比如:
Android Framework 之 使用系统编译的文件 添加到 SDK 的源码
在上一篇文章中: Android Framework 添加新的 系统服务
我们添加了 新的 系统服务 DemoManagerService, 客户端可以通过 DemoManager.java 访问。
但是 使用 Android Studio 新建一个项目时,是不能直接使用DemoManager.java, 因为当前Android Studio使用的是Google 原生的SDK (API31),并没
C++ Primer Plus习题及答案-第十二章
习题选自:C++ Primer Plus(第六版)
内容仅供参考,如有错误,欢迎指正 !
c++使用new和delete运算符来动态控制内存。
对于静态成员,要在类声明之外使用单独语句进行初始化,因为静态类成员函数是单独存储的,而不是对象的组成部分,而且初始化是在方法文件中,而不是在头文件中,这是因为类声明位于头文件中,程序可能将头文件包括在其他几个文件中,如果在头文件中初始化,将出现多个