移动开发
Android Framework 之 使用系统编译的文件 添加到 SDK 的源码
在上一篇文章中: Android Framework 添加新的 系统服务
我们添加了 新的 系统服务 DemoManagerService, 客户端可以通过 DemoManager.java 访问。
但是 使用 Android Studio 新建一个项目时,是不能直接使用DemoManager.java, 因为当前Android Studio使用的是Google 原生的SDK (API31),并没
(3) python 面向对象编程
(一)面向对象编程
在面向对象中最重要的三个部分分别是:封装、继承、多态
可参考我前面的笔记:#
在学习这些之前,我们先明白两个概念:类、对象
类(class):描述具有相同属性和方法的对象的集合。例如:人类。
对象(object):通过对类进行实例化,分配内存空间,能能够被用户使用。例如:张三。
# 类
class Person():
name="人类有个名字"
age="人
Kotlin Multiplatform超详细介绍,一篇就够了
引言本文对 KMP 做了详细介绍,包含它的基础能力以及编译过程。并从开发者最关注的性能、灵活性、生态、可靠性几个角度,简述了 KMP 的优势。包含了多个大厂的实战案例,和 Kotlin,KMP 的发展历史,以佐证其可靠性。阅读此文你将全方位了解 KMP 技术。一、跨平台开发背景💡 跨平台趋势当前软件领域有个明显的
Android的ViewModel正确使用姿势?
看了网上很多对于ViewModel的讲解,对比了官方的使用,自觉有点官方译文科普的意思,即使看很多,仍旧没有醍醐灌顶的感觉,于是,深入源码分析后,便想将对于ViewModel的使用以及定位做一些简单的记录,如与编者有不一样的看法,希望在评论区一起讨论。文章旨在抛砖引玉,并无教学之意。
对于ViewModel的官方介绍:
ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。Vi
Android-推荐一个检测内存泄漏的库(LeakCanary)
图片来源网络,入侵必删
在Android开发当中,内存泄漏是会影响用户体验的。LeakCanary开源库是一个常见的定位内存泄漏的开源库,这篇博客来分享一下它的使用,让我们的应用更加的丝滑。
LeakCanary
一个帮助开发者检测内存泄漏以及Application Not Responding的开源库。更多具体的简介请查看wiki
引入项目
dependencies {
// d
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 究
