移动开发

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

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

Android外部存储兼容(Android12)

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

iOS16适配 屏幕旋转横屏

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

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:设置阴

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

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

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

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

Android Jetpack架构组件(十)— StartUp

一、StartUp简介 应用程序启动库提供了一种在应用程序启动时初始化组件的简单、高效的方法。库开发人员和应用程序开发人员都可以使用StartUp来简化启动序列并显式设置初始化顺序。 StartUp允许您定义共享单个内容提供程序的组件初始化程序,而不是为每个需要初始化的组件定义单独的content provider。这可以显著缩短应用程序启动时间。 简单的说就是通过一个公共的content pro

(二)Android引入ffmpeg编译后的so库

如何编译ffmepg的动态链接库,可以看这里:#。 1、新建项目,将编译好的ffmpeg库,拷贝到项目的libs文件夹中。 image.png 2、在src/main路径下,创建cpp文件夹,将编译好的头文件放到cpp文件夹下,并创建一个native-lib.cpp文件(暂时不需要在里面写代码) image.png 3、创建CMakeLists.txt文件 ima

iPhone屏幕尺寸和开发适配

image.png iOS真机适配: // 屏幕宽度 public static let Screen_Width: CGFloat = UIScreen.main.bounds.width // 屏幕高度 public static let Screen_Height: CGFloat = UIScreen.main.bounds.height // 是否iPhoneX系列 publ