移动开发

AOSP学习(一)Ubuntu编译Android13系统源码

前言 做Android应用好多年,一直对AOSP无所知,都不知道什么东西,目前车载那么火,就想介入进去,开始尝试去编译一下系统源码,然后去看了一下Android官网,目前最新的版本还不支持mac和window,只支持ubuntu,去整了个硬盘准备刷个系统,可能是Macmini原因,一直没能成功,很尴尬,最后整了虚拟机。 整个过程挺麻烦的,我下载是Android13最新的源码,因为源码需要翻墙,我用

24:JS 原型链,原型链的顶端是什么?Object 的原型是什么?Object 的原型的 原型是什么?在数组原型链上实现删除数组重复数据的方法

能够把这个讲清楚弄明白是一件很困难的事, 首先明白原型是什么,在 ES6 之前,JS 没有类和继承的概念,JS 是通过原型来实现继承的,在 JS 中一个构造函数默认带有一个 prototype 属性,这个的属性值是一个对象,同时这个 prototype 对象自带有一个 constructor 属性,这个属性指向这个构造函数,同时每一个实例都会有一个proto属性指向这个 prototype 对象,

TreeUtils工具类一行代码实现列表转树 实战Java8 三级菜单 三级分类 附视频

一、序言 在日常一线开发过程中,总有列表转树的需求,几乎是项目的标配,比方说做多级菜单、多级目录、多级分类等,有没有一种通用且跨项目的解决方式呢?帮助广大技术朋友给业务瘦身,提高开发效率。 本文将基于Java8的Lambda 表达式和Stream等知识,使用TreeUtils工具类实现一行代码完成列表转树这一通用型需求。本文有配套视频,传送门直达。 二、实战编码 1、引入坐标 本坐标地址包含Tre

Android 带阴影的 TextView

要想实现带阴影的 TextView,主要是设置下面4个属性 android:shadowColor:设置阴影颜色,需要与 shadowRadius 一起使用 android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0 android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置 android:shadowDy:设置阴

iOS16适配 屏幕旋转横屏

背景 iOS16之前转屏方法setOrientation:, 16之后使用无效. 虽然Xcode14/iOS16提供了新的api但还是beta版, 不能直接打包上线, 所以要在旧版适配新版本. 怎么适配 尝试了很多方法, 比如横屏时直接present一个横屏VC, 但耗时耗力, 怎么花最小代价适配iOS16, 看下面... 未升级Xcode14提前调试iOS16 下载iOS16系统支持包 放到这个

Android外部存储兼容(Android12)

外部存储访问权限(~Android 11) Android 12之后系统就不允许自由访问外部存储了,只能访问指定的外部存储存储,例如:context.getExternalFilesDir(Environment.type)下的外部存储,或者其他/Android/data/data下的外部存储。 <!-- Without this folders will be inaccessible

12.类的关系——继承关系

1、继承关系 1.1 继承的概念 ·继承机制是面向对象程序设计不可缺少的关键概念,是实现代码可重用的根基,是提高软件系统的可拓展性与可维护性的主要途径。 ·所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,子类能吸收已有类的属性和行为,并能拓展新的能力。 形式:【访问权限修饰符】【修饰符】子类名 extends 父类名{子类体} 例: //类:图形 pu

揭秘 Android 高级工程师面试秘籍:从源码到实战全方位剖析

揭秘 Android 高级工程师面试秘籍:从源码到实战全方位剖析 一、引言在竞争激烈的 Android 开发领域,想要成为一名高级工程师并在面试中脱颖而出并非易事。Android 高级工程师不仅需要具备扎实的基础知识,还需要对 Android 系统的源码有深入的理解,能够熟练运用各种开发技巧解决实际问题。本文将深入剖析 Android 高级

效率翻倍!大型Flutter项目快速实现JSON转Model实战

一、前言 在原生应用开发中,我们通常会使用YYModel、SwiftyJSON、GSON等库实现JSON解析,并使用JSONConverter等类似工具实现JSON自动转模型,极大的提高工作效率。 但在Flutter开发中,却并没有类似的解析库给我们使用,因为这样的库需要使用运行时反射,这在 Flutter 中是禁用的。运行时反射会干扰 Dart 的 tree shaking,使用_tree sh