FFmpeg开发笔记(五十二)移动端的国产视频播放器GSYVideoPlayer
GSYVideoPlayer是一个国产的移动端视频播放器,它采用了IJKPlayer、Media3(EXOPlayer)、MediaPlayer、AliPlayer等四种播放器内核,支持弹幕、滤镜、广告等多项功能。 GSYVideoPlayer的Github主页为https://github.co ...阅读全文
GSYVideoPlayer是一个国产的移动端视频播放器,它采用了IJKPlayer、Media3(EXOPlayer)、MediaPlayer、AliPlayer等四种播放器内核,支持弹幕、滤镜、广告等多项功能。 GSYVideoPlayer的Github主页为https://github.co ...阅读全文
对各高校即将毕业的学子来说,毕业设计算是在大学里的最后一个大作业。特别是软件、计算机、电子等相关专业,毕业设计非常讲究实操,往往要求实现一个实用的、可用的、易用的软件系统或手机APP。 不管是软件还是APP,都要通过编程来实现。对于编程类的毕业设计,既有图书馆管理系统这样万年不变的增删改查软件,也 ...阅读全文
写在前面:本文所述未必符合当前最新情形(包括蓝牙技术发展、微信小程序接口迭代等)。 微信小程序为蓝牙操作提供了很多接口,但在实际开发过程中,会发现隐藏了不少坑。目前主流蓝牙应用都是基于低功耗蓝牙(BLE)的,本文介绍相关的几个基础接口,并对其进行封装,便于业务层调用。 蓝牙发展 在开发蓝牙应用程序之 ...阅读全文
问题描述 最近发现Flutter中引入像素较大的静态图片或者字体导致调试或者打包之后在高刷手机上帧率只有60的问题。 测试设备为小米13,可在开发者选项中直接打开帧率显示, 也可使用statsfl插件显示帧率 StatsFl( maxFps: 120, // Support custom FPS t ...阅读全文
在 C 语言中,内存分配主要分为以下几个区域: 一、栈(Stack) 存储内容: 局部变量:在函数内部声明的变量,包括自动变量和函数参数。 函数调用信息:当函数被调用时,会在栈上分配空间来存储函数的返回地址、参数和局部变量。 特点: 内存由编译器自动管理,分配和释放非常高效。 空间相对较小,一般几兆 ...阅读全文
【HM】华为鸿蒙高级认证资料 目录【HM】华为鸿蒙高级认证资料判断题单选题多选题其它 判断题 【判断题】每调用一次router.pushUrl()方法,默认情况下,页面栈数量会加1,页面栈支持的最大页面数量为32。正确(True) 【判断题】首选项preferences是以Key-Value形式存储 ...阅读全文
小红书官方介入链接:小红书分享开放平台 下载sdk文件,位置如下图所示 之后可以按照官方文档进行开发,接入也较简单,这里主要是说明一些隐藏的坑点 一、分享应用内的文件到小红书(这里主要是指应用包名下的文件内容),需要注意setFileProviderAuthority()这个方法。 例如我的代码如 ...阅读全文
存储区 Android 一开始就将存储区分为内部存储和外部存储,对应手机自带的存储和可插拔的 sd 卡(可类比于 PC 的硬盘和 U盘)。 内部存储容量有限,Google 建议 App 数据尽量存储于外部存储中。 随着硬件技术发展,自带大容量空间的手机开始出现,关于内部存储的描述逐渐偏离现实了,于 ...阅读全文
App适配鸿蒙Next,开始做支付功能了,目前来说只有支付宝支持鸿蒙Next,微信还没上架,但是支付宝官方的文档跟Demo都很老,下载官方的Demo用最新版的DevEco-Studio导入都不成功。 后面在OpenHarmony三方库中心仓找到了最新的代码: https://ohpm.openhar ...阅读全文
原文: Jetpack架构组件学习(5)——Hilt 注入框架使用-Stars-One的杂货小窝 本篇需要有Kotlin基础知识,否则可能阅读本篇会有所困难! 介绍说明 实际上,郭霖那篇文章已经讲得比较明白了(具体参考链接都贴在下文了),这里简单总结下: 如果按照之前我们的MVC写法,我们可以直接在 ...阅读全文
IT寒冬之下,程序员这个职业不再像以往那么吃香,尤其是APP开发的门槛越来越高,使得安卓程序员不得不求变,如果不在技术上及时转型提高,逆水行舟未来不可期呀。 有鉴于此,博主整理了几个可供安卓程序员的技术转型发展方向,供大家参考。 1、继续深耕Android的应用开发 谷歌爸爸是安卓的爹,要想继续吃 ...阅读全文
以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存储空间, 实际路径/data/user_de/ 系统解锁前也能够运行一些App,但是需要App在manifest里显式声明android:directBootAwar ...阅读全文
原文: Jetpack Compose学习(13)——Compose生命周期及副作用函数-Stars-One的杂货小窝 此文建议需要了解kotlin的lambda表达式使用和协程基础使用,不然可能会有些阅读困难 本篇算是参考他人文章,按照自己理解重新总结了下吧,偏理论 生命周期 Composable ...阅读全文
在跟着安卓官方教程学习的时候,我发现每次导入教程里的项目,Android Studio都会下载Gradle和Android Gradle plugin等一大堆东西,才能启动项目。从此以后,我就发现安装盘的空间一点点减少。在查询了无数种方法后,依然得不到解决,后来经过摸索以及阅读官方文档,终于解决了该 ...阅读全文
在实现用户协议弹窗时,通常我们会想到使用系统自定义弹窗,并在弹窗中点击跳转到Web页面。但在HarmonyOS中,由于系统弹窗的显示优先级高于其他组件,即使跳转到Web页面,弹窗依然会显示在最上层。 为了解决这个问题,我们可以自定义一个组件来模拟弹窗,这样当跳转到Web页面时,Web内容会覆盖这个模 ...阅读全文
面向对象编程(OOP)是一种编程范式,它通过创建包含数据和方法的对象来组织代码。相较于过程式编程,OOP 提供了更快更清晰的结构,有助于遵守 DRY(Don't Repeat Yourself)原则,使代码更易于维护和扩展。在 Kotlin 中,类和对象是 OOP 的核心。类作为对象的模板,定义了对... ...阅读全文
Kotlin中的循环结构让你能轻松遍历数组或范围内的元素。使用`for`循环结合`in`操作符,可以简洁地访问数组中的每个项,如字符串数组或整数数组。对于范围,可以用`..`来定义一系列连续的值并进行迭代。此外,Kotlin支持通过`break`和`continue`控制循环流程。函数则允许封装可复... ...阅读全文
鸿蒙(Harmony) NEXT 9月份就要正式上架了,并且不会再兼容安卓平台,于是我也赶紧给App开发鸿蒙版本,接下来会写一系列的Harmony开发教程。 今天使用AlphabetIndexer实现联系人字母索引,AlphabetIndexer是官方封装好的组件 咱们实现后的效果图: 代码实现 首 ...阅读全文
Kotlin的`when`表达式提供了一种比`if..else`更清晰的方式来选择执行多个代码块之一,类似于Java的`switch`语句但更为强大和灵活。`while`循环允许在条件为真时重复执行代码块,而`do..while`循环则保证至少执行一次。`break`和`continue`可用于控制... ...阅读全文
Objective-C中,类的实例变量(instance variables)和属性(properties)是两种不同的概念,其中属性的内存管理就较为复杂。Objective-C 提供了多种属性修饰符,用于管理对象的内存。这些修饰符用于控制对象的生命周期和内存管理行为。 以下是一些常见的属性修饰符及 ...阅读全文