自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ho博客

至千里 成江海

  • 博客(74)
  • 资源 (6)
  • 收藏
  • 关注

原创 【微信小程序】实现生成图片分享朋友圈

目前小程序只支持卡片方式分享到聊天页面,官方不知道何时会新增分享朋友圈方式。最近有个需求要分享到朋友圈,现在大家的通用做法就是通过Canvas生成一张图片后进行保存,然后自行转发朋友圈。最近有个此类需求,至此把开发过程中遇到的坑做个记录,下面先看下效果图。

2018-09-30 23:03:26 43003 28

原创 【C#学习笔记】C#中事件

上篇在学习委托的时候介绍了C#中的事件是一种特殊的委托,它用于提供一种机制来实现发布-订阅模式,允许对象在某个条件或状态改变时通知其他对象。委托是事件的基础,事件相当于委托的封装。事件由5个关键要素组成,分别是委托类型、事件声明、事件订阅、事件触发、事件取消订阅。

2025-01-13 20:32:52 377

原创 【C#学习笔记】C#中委托

C#的委托是一种类型安全的函数指针,用于引用方法,委托允许方法作为参数传递,或者将方法赋值给委托变量,并通过委托调用方法。

2025-01-10 14:26:01 472

原创 【RK3568笔记】Android修改开机动画

Android的开机动画是由一系列连续的PNG图片作为帧组成的动画形式,不是一张GIF图片。将各帧PNG图片以压缩方式进行保存(压缩方式要求是存储压缩),并将保存的文件名命名为,这个压缩文件就是开机动画文件。

2025-01-07 10:17:59 1227

原创 【RK3568笔记】Android适配红外遥控器

PWM有三种工作模式,和. 红外遥控器就采用,这种模式下PWM可以捕获输入高低电平的宽度,并产生中断,CPU接收到中断后去相应的寄存器读取。按下遥控的时候,红外接收头会产生一系列的高低电平,PWM就会产生相应的中断,CPU读取相应的寄存器就知道这些高低电平的时间,根据协议就可以解码出红外的用户码和键值码出来。

2024-12-27 16:56:02 1590

原创 【Ubuntu学习】另一个程序已锁定文件的一部分,进程无法访问

启动Ubuntu系统时,提示错误另一个程序已锁定文件的一部分,进程无法访问打不开磁盘”"或它所依赖的某个快照磁盘。模块"Disk”启动失败。。未能能启动虚拟机。

2024-12-23 09:11:01 490

原创 【Ubuntu学习】Ubuntu无法使用vim命令编辑

在VMware首次安装Ubuntu,使用vi指令对文件进行编辑,按i键后无法更改文件内容。

2024-11-08 16:25:29 714

原创 【Android自定义控件】Android实现自适应字体大小的竖向文字

此自定义控件的实现比较简单,最主要的两个功能。1、计算文字大小获取父布局的高度,除以文字的总长度,即可获取文字的大小。2、使用Canvas竖向绘制每个字符使用循环绘制字符,满足竖直显示效果。

2024-10-12 11:37:22 503 2

原创 【Android笔记】Android Studio打包 提示Invalid keystore format

Android项目通过生产签名文件进行打包。提示不合法的签名文件格式,检查了签名文件的路径以及在Gradle中反复确认了别名和密码,都不存在错误。

2024-09-11 14:48:59 1050

原创 【Android自定义控件】Kotlin实现滚动效果的数字加减控件

本篇文章所实现的自定义效果难度并不大,自定义ViewGroup、使用,结合View的方法实现数字滚动效果。

2024-08-31 15:47:13 1818 1

原创 【Android Kotlin】Kotlin协程介绍

Kotlin协程的核心内容涵盖了协程的基本概念、构建块、启动方式、挂起函数、结构化并发、异常处理以及协程的取消机制。协程通过提供一种轻量级的并发编程模型,使得处理异步任务更加直观和简洁,同时保持代码的可读性和可维护性。它们在Android开发中得到了广泛应用,尤其是在需要处理复杂的异步操作时。

2024-08-29 11:49:44 1614 1

原创 【Kotlin设计模式】Kotlin实现外观模式

外观模式通过提供一个简化的接口,将复杂的子系统封装起来,降低了客户端与子系统之间的耦合性,并提高了系统的模块化和灵活性。然而,使用外观模式时,需要权衡隐藏细节和提供灵活性之间的平衡,避免引入不必要的复杂性。

2024-08-27 14:23:18 1360 1

原创 【Kotlin设计模式】Kotlin实现装饰器模式

装饰器模式在需要动态扩展对象功能的场景中非常有用,可以提高灵活性和复用性。然而,它也可能增加系统的复杂性,并带来一定的性能开销。在使用装饰器模式时,需要权衡其优缺点,并根据实际需求做出合理的设计决策。

2024-08-26 16:54:44 646

原创 【Kotlin设计模式】Kotlin实现适配器模式

适配器模式可以以类适配器或对象适配器的形式实现,灵活性高。类适配器使用多重继承(在Java中通过接口实现),对象适配器通过组合来实现,原本由于接口不兼容而无法一起工作的类可以协同工作,从而提高了代码的复用性,允许通过引入新的适配器来适应新需求,而无需修改现有的代码,从而实现了开闭原则。

2024-08-26 13:39:48 663

原创 【Kotlin设计模式】Kotlin实现工厂模式

工厂模式在解耦对象创建和使用、提高系统扩展性和维护性方面具有明显优势,但在系统复杂性和管理难度上也存在一定的代价。选择是否使用工厂模式应基于系统需求的复杂程度和对象创建的复杂性。

2024-08-22 19:55:49 1039

原创 【Kotlin设计模式】Kotlin实现单例模式

Kotlin的单例模式通过 object关键字实现,简洁且线程安全。对于需要懒加载的情况,可以使用 by lazy实现。

2024-08-21 14:13:51 650

原创 【Kotlin设计模式】建造者模式在Android中的应用

在Android中,建造者模式被广泛应用于需要配置多个选项、步骤复杂或构建过程不容易一步完成的场景。通过建造者模式,可以更轻松地创建和配置复杂对象。

2024-08-21 10:54:01 799

原创 【Android笔记】Android APK编译打包流程

本文将介绍Android从一个项目打包成APK的过程,其中涉及AndroidJava和Kotlin文件、资源文件、清单文件、依赖jar包和so库等在打包过程中处理。

2024-08-19 20:39:17 6540

原创 【Android笔记】ADB 操作命令总结(持续更新)

ADB,即是一种允许和已连接的Android设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在中找到adb工具或下载ADB Kits。

2024-08-14 16:21:39 1174

原创 【Android笔记】记移植OpenCV4.8实现人脸检测

人脸识别业务流程如下,调用摄像头预览、拍照,使用OpenCV库进行人脸识别,将识别到的人脸使用矩形框绘制出来,从识别的人脸中随机选中一人进行展示。

2024-08-14 15:06:38 1827 1

原创 【Android Git】Mac配置支持 Gitlab、Gitee和阿里云效多平台

在开发过程中,会遇到多平台项目管理问题,需要进行配置支持,常用的平台有GitlabGitee阿里云效等,本篇文章记录下使用同一邮箱配置支持的过程。

2024-08-08 19:23:34 624

原创 【Android Git】Git版本回退方式

在日常开发中,版本管理会遇到错误的提交、历史版本回溯、代码合并和分支管理等问题。此时就要用到版本回退功能,以`Git`为例,介绍常用的几种版本回退方式。

2024-08-07 11:00:30 517

原创 【Android Git】Android项目版本由SVN变成Git

在Android开发环境中,vcs.xml文件通常与版本控制系统(VCS,Version Control System)有关,这个文件保存了与版本控制系统相关的配置信息。

2024-08-06 17:13:02 563

原创 【Android通信】UDP的单播和组播模式

单播:用于点对点通信,数据报从一个源发送到一个目标。组播:用于点对多点通信,数据报从一个源发送到一个组,这个组包含多个接收者。

2024-08-05 13:48:36 822

原创 【Android笔记】记录老项目迁移到Gradle8.0遇到的问题以及解决方法

Android项目由低版本Gradle迁移到高版本中遇到的问题,设计AndroidX的适配、aar包引入报错以及so库加载问题。

2024-08-02 10:17:20 1756 1

原创 【Android NDK开发】Android Studio 编写 JNI (C++)代码无提示

Android Studio 编写C++代码不提示

2023-08-10 20:05:11 830

原创 【Android11 无线热点开发 】无线AP开与关、无线AP信息获取

前面四篇文章介绍完了有线网络、无线网络的开发过程,下面介绍下Android 11上网络的终结篇,无线热点的开发流程。

2023-07-03 16:14:02 2108 2

原创 【Android11 有线网络开发 】网络信息获取、静态IP设置

Android11上WiFi开发前面文章已经做了介绍,本篇将记录以太网的开发过程,以太网的功能需求相对简单。获取网络信息、设置静态和动态IP。

2023-07-03 12:47:29 5561 4

原创 【 Android11 WiFi开发 三 】WiFi信息获取与静态IP设置

记录Android11上WiFi功能的开发,前面文章介绍了WiFi列表的获取展示,WiFi的连接与断开,那么本篇将介绍WiFi信息获取、静态IP设置功能。

2023-06-30 10:58:24 3376 5

原创 【 Android11 WiFi开发 二 】WiFi连接、断开

上篇文章介绍了WiFi列表的获取与展示和WiFi状态改变的广播监听,本篇将介绍介绍对WiFi的操作,连接、忘记,查看已连接的WiFi信息等。

2023-06-29 14:48:22 5554 4

原创 【 Android11 WiFi开发 一 】WiFi列表获取与展示

最近在Android11上开发了WiFi相关功能,涉及到WiFi列表的获取、连接有密码的WiFi、连接已保存的WiFi、忘记连接的WiFi、添加其他WiFi。涉及到的知识点较多作以分篇记录,本篇将介绍WiFi列表的获取与展示。

2023-06-28 16:53:21 5736 5

原创 【Android笔记】Android加载大图策略,防止OOM

Android中图片以位图(Bitmap)的形式存在,位图常见的格式有.png.jgp.bmp.gif。在加载图片的过程中常见的就是内存溢出。内存溢出是系统会给APP分配内存也就是Heap Size值。当APP占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存时就会抛出的异常。为什么在加载大图片时会出现内存溢出?首先我们要了解Bitmap位图占用内存大小的计算方式。

2023-06-20 17:34:30 1686

原创 【Android自定义控件】Android仿招商银行APP手势解锁

目前大部分APP的登录方式有多种类型,其中手势解锁就是其中比较常见的一种方式,经常使用的招商银行APP(IOS)端的手势解锁体验不错的,就仿照它自定义下手势解锁功能。

2023-01-17 11:17:45 944

原创 【Android自定义控件】Android仿微信支付密码输入框

早上在使用微信支付买东西时候注意到了支付的密码输入框,今天正好是10月24,就使用自定义方式来实现下。绘制分析 : 1、绘制圆角矩形 2、绘制黑色小圆点drawCircle 3、键盘自动调起处理输入和回删事件 4、输入完成后事件回调。

2022-10-24 23:27:50 2153

原创 【Android自定义控件 】Andriod仿IOS控件Switch开关

本篇文章记录下Android仿iOS控件Switch开关自定义过程。此控件实现的难度较小,但是在绘制文字过程中遇到一些问题,比如如何将文字摆放在正确的位置。Canvas的绘制文字drawTextPaint获取文字边界Paint的测量文字宽度字体度量属性(文字位置摆放关键)

2022-09-25 22:43:20 4602 1

原创 【Android自定义控件】自定义View实现Loading效果

本文记录Android自定义Loading控件过程,其中涉及到自定义属性、动画、Canvas绘制形状、Canvas绘制文字等技术。

2022-09-18 09:53:08 3689

原创 【Android自定义控件】自定义百度贴吧水波纹Loading效果

本篇自定义贴吧水波纹Loading效果,主要熟悉下画布的有关特性和Path路径的有关方法,画布在自定义View中是最重要的角色之一,也是要着重掌握的知识。

2022-09-06 21:03:39 708

原创 【Android自定义控件】 自定义FlowLayout

实现效果效果类似于微信的标签功能,依次显示标签名,当标签的总宽度(标签宽度 + 边距)超过总的屏幕宽度时,进行换行显示。本篇文章的实现前提是字体大小一致,标签高度一致。2、实现步骤上述效果实现主要以下几步:1.重写的方法2.测量单个标签的宽度,包含标签的边距即、3. 测量单个标签的高度,包含标签的边距即、4. 测量父控件的宽度和高度5. 重写的方法6. 对标签进行布局、根据规则摆放在父控件中根据上图可以分析实现功能需要的参数: 一行的子标签的总宽度,用于和屏幕宽度比较大小,决定是标签是否换行..

2022-08-30 20:53:33 1524

原创 【Android自定义控件】Android下聚光灯实现

这样进度条和聚光灯就结合使用起来。聚光灯自定义控件,默认为全黑的背景,圆的半径为200f,若要灵活配置,可以声明自定义属性聚光区域圆的半径,修改圆大小的系数等。效果如下图所示,聚光灯随手指的位置变化而变化,通过进度条控件改变聚光灯大小以及修改背景透明度。...

2022-08-17 23:38:21 1048

原创 【Android自定义控件】实现可滑动的进度条

本文为Android自定义控件,可滑动的进度条,记录了从0到1开发的整个过程,加深对自定义View的理解,方便复习。

2022-08-14 22:47:18 5461 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除