- 博客(36)
- 收藏
- 关注
原创 Android屏幕横竖屏切换和生命周期
不设置Activity的android:configChanges,或设置Activity的android:configChanges="orientation"时,或是设置android:configChanges="orientation|keyboardHidden,切屏会重新调用各个生命周期,且都只执行一次。这个属性相对来说就没那么多人使用了,但是也是有用的,它可以设置屏幕默认的方向,但是仅仅是默认显示,设置后还是可以在代码中改变屏幕的方向的!
2024-11-18 10:28:19
1026
原创 安卓开发怎么获取返回上一级activity事件
在这个例子中,当用户点击返回键时,会弹出一个对话框询问用户是否真的想要退出当前。的事件,通常是通过点击设备上的返回按钮或者在代码中调用。如果用户选择“否”,对话框将关闭,用户将能够继续在。为了处理这个事件,你可以在当前。在Android开发中,要获取返回上一级。以继续默认的返回行为(即关闭。如果用户确定,就会调用。
2024-11-15 21:42:23
369
原创 android studio新建activity提示 require androidX support
在Android Studio中创建Activity时出现的“require androidX support”提示通常意味着你的项目配置需要使用AndroidX库来支持。AndroidX是原Android Support Library的一个改进版本,它引入了一些新的库,并且与Android Jetpack工具一起工作。如果你的项目已经在使用AndroidX,那么这个提示可能是因为你的项目配置有误或者Android Studio的一个小bug。文件中的依赖库到AndroidX对应版本。
2024-11-13 15:37:16
456
原创 安卓全屏实现
是你自定义的常量,用于标记进入或退出全屏模式的请求,你需要在代码中相应的位置处理这些请求,并调用上述相应的全屏模式设置代码。这个常量可能是特定应用或项目中定义的,或者是从某个库或框架中引入的。在Android开发中,没有直接的常量或API叫做。
2024-11-12 15:39:34
794
原创 Android开发中的隐藏控件技巧
在Android应用开发中,我们经常需要根据用户的操作或特定条件来隐藏或者显示一些控件。本文将介绍隐藏控件的方法,并提供一些代码示例以帮助开发者更好地理解这一过程。在Android中,控件(如TextView、Button等)的显示和隐藏通常通过其可见性(visibility)属性来控制。在MainActivity.java中,我们将实现按钮的点击事件,以便在每次点击时切换TextView的可见性。下面是一个简单的示例,演示如何使用按钮来隐藏和显示TextView控件。View.VISIBLE:控件可见。
2024-11-12 11:46:34
365
原创 android 主动切换横竖屏代码
在开发过程中,有时我们可能需要根据不同的场景切换这两种模式。例如,在观看视频时,一般会将屏幕切换为横屏,而在阅读文章时则会保持竖屏。在 Android 中,可以通过设置 Activity 的属性来实现屏幕方向的切换。横屏(Landscape):适用于观看视频、游戏等需要更多水平空间的应用。下面是一个简单的 Activity 示例,通过按钮点击来实现横竖屏的切换。竖屏(Portrait):适用于大多数手机应用,默认状态。二、主动切换屏幕方向的实现。一、屏幕方向的基本概念。
2024-11-12 11:44:36
367
原创 IjkVideoView 全屏实现
请注意,自定义的布局操作需要根据你的布局和需求来实现。例如,你可能需要隐藏标题栏、操作栏或调整视频显示的布局参数。方法会被调用,IjkVideoView 会在全屏和非全屏之间切换。和一个用于全屏切换的按钮。当用户点击全屏按钮时,在这个示例中,我们假设你有一个名为。的布局文件,其中包含一个。
2024-11-03 02:51:41
288
原创 ESP8266 AT指令连接中国移动物联网开放平台OneNet
该返回结果说明,本次上传数据成功,数据上传成功后,OneNet服务器会关闭TCP连接,那么下次进行数据传送,需要重复步骤2)。AT+CIPSTART="TCP","183.230.40.39",876 //和服务器建立TCP连接。AT+CIPSTART="TCP","183.230.40.33",80 //和服务器建立TCP连接。AT+CWJAP="your ssid","password" //连接无线路由器。注意:这些配置完成后,若模块重新上电,可直接进入第二步,与服务器建立TCP连接。
2024-11-01 08:58:51
1496
原创 Android Studio 配置国内镜像源、HTTP代理(详细步骤)
本文只介绍单个项目配置,所有项目配置自行百度。新老版本配置文件稍有不同。和里面的都需要填写。不同版本的gradle文件的url格式不一样。备用一套镜像地址,这套与下面的镜像地址不同,如果下面的案例中的不行可以替换成这份,注意url书写格式// 新版本 settings.gradle.kts// 老版本 build.gradle。
2024-11-01 08:52:52
1759
原创 用三极管实现RS-232转TTL电路
当TXD为"0"(TTL)时, Q3导通,则PCRXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0"....也就是说TTL的"1"经过这个电平转换电路后,RS2323可以识别出它是"1",是"0"也能识别为0.这就实现了从TTL到RS232的电平转换.从RS232转换为TTL电平那就简单了,当PCTXD为"1",即-3~-15V时,Q4截止,RXD电压约为5V,为"1",,当PCTXD为"0"时,Q4导通,电压为0,电平为"0".那么从RS232到TTL的电平转换也实现了.
2024-10-31 10:52:24
794
原创 蓝牙整体框架
也可以是,我用了A公司芯片里面的Controller,但我自己的产品里面有一套自己更加成熟的Host,所以我也可以这么组合着用。其实两个蓝牙设备之间也是如此。举个例子,我们想要播放经典蓝牙音乐,那就必须要host支持A2DP profile,以及AVDTP协议,如下图所示(这里面注意一点:经典蓝牙音乐数据必须通过HCI层传上来,这一点和通话数据的传输有差异)。Controller和Host之间进行通信,那必定有物理介质进行传递,如上图所示,可以是USB、SDIO、UART,也可以是其他的通讯方式。
2024-10-31 10:39:13
454
原创 HCI数据格式与蓝牙初始化流程
HCI Command 是蓝牙协议栈发送个蓝牙芯片的命令,有两个字节的 Opcode,其中 OCF 占 10bit,OGF 占 6bit,一个字节的参数长度,剩下的是参数,因为参数长度用一个字节表示所以后面参数最大有 255 个,整个 Command 的长度最大就是 258。设置 scan 模式,有两种模式,一个是 Inquiry Scan 一种是 Page Scan,只有开启了 Inquiry Scan 才能被搜索到,只有开启了 Page Scan 才能被连接,这里全部开启了,即可以被搜索和连接。
2024-10-30 11:57:32
878
原创 学习单片机C语言,必知的数据存储与程序编写知识
程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的,cpu从code区读取指令,对data区的数据进行运算处理,因此code区存储在什么介质上并不重要,象以前的计算机程序存储在卡片上,code区也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是运行速度要慢很多,主要读flash比读ram要费时间),因此一般的做法是要将程序放到flash里面,然后load到 ram里面运行的;
2024-10-30 11:23:35
619
原创 功率MOS管烧毁的原因(米勒效应)
这个米勒电容是栅极和源级电容充电的绊脚石,因为栅极给栅-源电容Cgs充电达到一个平台后,栅极的充电电流必须给米勒电容Cgd充电,这时栅极和源级间电压不再升高,达到一个平台,这个是米勒平台(米勒平台就是给Cgd充电的过程),米勒平台大家首先想到的麻烦就是米勒振荡。所以开关越慢,结温越高,容易烧mos。因为这个时候源级和漏级间电压迅速变化,内部电容相应迅速充放电,这些电流脉冲会导致mos寄生电感产生很大感抗,这里面就有电容,电感,电阻组成震荡电路(能形成2个回路),并且电流脉冲越强频率越高震荡幅度越大。
2024-10-28 10:37:03
869
原创 C语言基本概念----字节与对齐
例如:假设int的尺寸是4个字节,即按对齐要求,int类型的对象,可以位于0x08000004、0x08000008和0x0800000C等字节地址上,它们都是4的倍数,这些对象是对齐于4 的。每个完整的对象类型都有一个称为对齐要求的属性,它是一个 size_t 类型的整数值,表示为该类型的对象分配的连续存储地址之间的字节数。有效的对齐值是 2 的非负整数幂。中定义了字节的长度,我们可以在该文件中找到宏CHAR_BIT,它的数值可能会随着平台的不同而不同,但无论如何它都是定义了一个字节所包含的比特数。
2024-10-28 10:33:57
701
原创 C语言,环形队列
环形队列的使用场景非常多,安卓的音频数据读写,很多都用到环形队列,我们在开发过程中使用的环形队列肯定比我上面的那个例子要复杂的多,我这里演示的是比较简单的功能,但麻雀虽小,五脏俱全,希望这个麻雀让你们了解这个数据结构,在实际项目中大展身手。
2024-10-25 09:46:10
477
原创 DSP算法库到底有多快?
在ARM单片机开发中,有CMSIS中提供的DSP数字信号处理函数库。这个函数库中包括有基本的数据函数、快速数学运算、复数运算、滤波器、矩阵、变换、点击控制、统计、支持函数,以及插值函数等,涵盖了大多数工程应用中的算法。我有一个疑问,使用CMSIS中的DSP函数,与普通的数学库中的函数,究竟能够有多大的提速空间?下面,就对比一下开方运算以及sine三角函数的运算速度,这样便能够将来在不同场合下选择使用不同的数学库。
2024-10-25 09:37:39
758
原创 MOS管输入电阻很高,为什么一遇到静电就不行了?
保护栅极G~源极S,场效应管的G-S极间的电阻值是很大的,这样只要有少量的静电就能使他的G-S极间的等效电容两端产生很高的电压。第一、MOS管本身的输入电阻很高,而栅源极间电容又非常小,所以极易受外界电磁场或静电的感应而带电,而少量电荷就可在极间电容上形成相当高的电压 (U=Q/C),将管子损坏。MOS管一个ESD敏感器件,它本身的输入电阻很高,而栅-源极间电容又非常小,所以极易受外界电磁场或静电的感应而带电,又因在静电较强的场合难于泄放电荷,容易引起静电击穿。这个电阻称为栅极电阻。
2024-10-23 09:22:40
418
原创 什么是PSRAM
如果这个地址是PSRAM区域的,那么CPU是直接访问PSRAM控制器,然后控制器再通过SPI与PSRAM芯片交互,拿到数据。在CPU眼里,就和直接访问SRAM是一样的。PSRAM具有SRAM接口协议,外部只要给地址,发读写命令,就可以实现存取,无需DRAM那样要memory controller来控制refresh。这样看,它是一个内存,和我们熟悉的DRAM,SRAM是一回事。DRAM是完全用电容构造的,因此存在漏电流,要持续保存数据的话,需要不断地自刷新,一般要求32ms或者64ms刷新一次。
2024-10-23 09:20:29
956
原创 为什么IC之间的信号线要接一个小电阻?
综上所述,IC之间的信号线上接一个小电阻的目的有很多,包括防止反射、抑制噪声、控制电流、防止短路和保护IC。当信号线上的电压发生变化时,信号会以一定的速度从信号源向信号终端传输,这个速度是受到信号线的长度、传输介质的特性以及电路特性的影响。为了避免短路的发生,可以在信号线和其他线路或元件相连的地方串联一个小电阻,这个电阻被称为串联电阻。反射指的是信号在信号线上的传输过程中,由于电阻、电感等因素的影响,导致部分信号反弹回去,与原信号叠加在一起形成衰减、畸变等现象。这会对信号的传输造成不良影响。
2024-10-19 11:50:26
882
原创 单片机项目中,太多全局变量有什么弊端?
随着全局变量的增多,出现bug的概率越大,多个函数或模块可能同时访问和修改全局变量,如果没有适当的同步机制,会导致数据不一致和难以预测的行为。如果全局变量在各个模块中穿插使用,不仅破坏了模块的独立性,还使得模块之间的耦合度增加,降低了代码的可重用性和可维护性。一个好的项目,肯定需要是定期维护和优化。一般大公司会有专门的代码审查相关的部门,进行定期的代码审查,强调全局变量使用的危害,并鼓励团队成员寻找替代方案。再次就是,随着项目的增长和功能的增加,全局变量的管理和维护变得更加困难,这限制了项目的可扩展性。
2024-10-19 11:48:59
405
原创 立体声与单声道有什么区别吗?
只能感受到声音、音乐的前后位置及音色、音量的大小,而不能感受到声音从左到右等横向的移动。所重播时的效果相对于真实的自然声来说,是简单化的,是失真了的。是实现立体声的原理,在空间放置两个互成一定角度的扬声器,每个扬声器单独由一个声道提供信号。而每个声道的信号在录制的时候就经过了处理。理是人们听到声音时可以根据左耳和右耳对声音相位差来判断声源的具体位置,在电路上它们往往各自传递的电信号是不一样的。一个声音通道,用一个传声器拾取声音,用一个扬声器进行放音的过程。就是有两个声音通道。
2024-10-18 17:39:42
926
原创 如何检测锂电池电量?
最常见的做法就是,用4颗LED做电量指示,4.1V~4.2V满格 ,表示有100%的电,3.8V~4.1V三格,表示还剩75%的电量,3.7V~3.8V两格 ,表示还剩50%的电量,3.5V~3.7V一格,表示还剩25%的电量。不过此种方法也存在缺陷:不同电池它的充放电曲线不一样,特别是新旧电池充放电曲线会有较大不同,还有一个电池受温度影响较大,不同厂家生产的电池也会有较大不同,如果所有电池都用这函数,或许会有较大的误差,因此此函数只能用同一批次的电池,如果电池更换,得需要重新计算。标注电压与电量的关系。
2024-10-18 11:14:18
2422
原创 2.1声道小型音响的设计和制作
不同的芯片,外围元件选参都有一定的差异,这往往不是随性的选择,是在总体放大的需求下,进行初选,实测,优选的一个过程,这就是为什么很多爱好者,总是在寻觅一个好的电路,但是往往自制以后的结果,总是大失所望。J3是高音功率输出,接高音喇叭,一般来说,是2到3寸的小型全频扬声器,这种扬声器,由于物理原因,对中高音还原比较好,对低音还原不足,所以,就用那0.1的声道来补足。其实,有时候,并不是电路图的参数不对,而是你做的和设计师做的有很多不同,最大的不同就是元件分布、封装、布线,电磁环境等。
2024-10-18 10:52:55
3212
原创 喇叭阻抗曲线解读
扬声器的阻抗与功放的输出阻抗之间的匹配程度会影响功率传递的效率和扬声器的驱动能力。总之,扬声器的阻抗曲线与共振频率之间存在一定的关系,频率接近共振频率时,阻抗会显著下降。需要注意的是,阻抗曲线并不是只受到共振频率的影响,还会受到扬声器的设计、材料以及驱动方式等因素的影响。在低于共振频率的低频范围内,扬声器的阻抗较高,这是因为扬声器在这个频率范围内的运动较为受限制,涉及到较大的力和位移。阻抗曲线与FO之间存在一定的关系。一般情况下,当扬声器的频率接近共振频率时,阻抗曲线会发生变化,表现为阻抗值的明显下降。
2024-10-17 16:15:34
2879
原创 C语言字符串比较不区分大小写
/*******************************************//功能:字符串匹配不区分大小写 //返回值: 匹配 1,不匹配 0//作者:小龙仔//微信号:L-G-Q-06 ******************************************/int compareStr(char *des,char *src){ int id_len,param_len; int times,i,j; id_len = strlen(src);...
2021-01-09 05:56:17
3542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人