自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (1)
  • 收藏
  • 关注

原创 推荐几个好用的国内AI网站

ChatGPT是美国人工智能研究实验室OpenAI推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动,做到与真正人类几乎无异的聊天场景进行交流。的网站,每日有大量免费的使用额度,响应速度,注册时不用使用手机号,等个人信息,注重用户隐私,好评!

2024-05-14 15:39:01 1064

原创 技术成神之路:设计模式(九)备忘录模式

备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。通过备忘录模式,可以在程序运行过程中保存和恢复对象的某个状态,从而实现“撤销”等功能。备忘录模式在《设计模式》一书中的定义是:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。备忘录模式是一种非常实用的设计模式,它允许在不破坏对象封装性的前提下捕获和恢复对象的内部状态。

2024-07-26 11:50:12 847

原创 获取手机当前信号强度(dbm/asu值)解决 getGsmSignalStrength()总是返回99问题

能看到这篇文章说明网上哪些获取 (dbm/asu值)不适合你,不是他们的代码不正确,而是不符合你的情况。当然如果你是安卓10+设备,并且为 LTE 网络 的情况下,那么就不能用了,你会发现。或其他网络类型,该方法可能返回无效值(如 99),代表未知或未报告的信号强度。对于 Android 10(API 级别 Q)设备,应该使用更新的 API,如。上面代码是网上大部分获取 dbm/asu值 的方法,不适用就不解释了。既然现在没有方法获取正确的 dbm/asu值,那就试试呗,在。中可以看到我们需要的这两个值。

2024-07-25 17:32:45 423

原创 技术成神之路:设计模式(九)观察者模式

观察者模式(Observer Pattern)是一种行为设计模式。它允许一个对象(称为主题或可观察者)来监视并通知一组依赖于这个对象的其他对象(称为观察者),以便在主题状态发生变化时自动更新观察者的对象。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有注册过的观察者对象,使它们能够自动更新自己。观察者模式通过定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,实现了对象之间的解耦和通信。

2024-07-24 22:46:17 956

原创 技术成神之路:设计模式(八)责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象依次处理请求,避免请求的发送者和接收者之间的显式耦合。该模式通过将多个可能处理请求的对象连接成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。责任链模式为请求创建一个接收者对象的链。这种模式给予多个对象处理请求的机会,从而解耦发送者和接收者。

2024-07-19 11:54:33 1177

原创 技术成神之路:设计模式(七)状态模式

状态模式(State Pattern)是一种行为设计模式,它允许一个对象在其内部状态改变时改变其行为。这个模式将状态的相关行为封装在独立的状态类中,并将不同状态之间的转换逻辑分离开来。关注点不同:状态模式关注对象在不同状态下的行为差异,封装了不同状态的行为。策略模式关注的是算法的不同实现方式,允许算法在不影响客户端的情况下独立变化。使用场景不同:状态模式适用于对象的行为在状态改变时发生改变的情况,状态之间有明显的转换关系。策略模式适用于客户端需要在多个算法中选择一种时,并且允许在运行时切换算法。

2024-07-15 10:54:33 1190

原创 技术成神之路:设计模式(六)策略模式

策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,封装每一个算法,并使它们可以相互替换。策略模式使得算法的变化独立于使用算法的客户端。策略模式通过将算法封装为独立的策略类,提供了一种灵活的方式来选择和使用算法。它提高了代码的可维护性和扩展性,符合面向对象设计的基本原则。在需要动态选择算法和减少条件判断时,策略模式是一种非常有效的解决方案。

2024-07-14 13:46:05 735

原创 技术成神之路:设计模式(五)抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定其具体类。这种模式属于工厂模式的一种扩展,它通过引入抽象层来实现工厂方法的组合,从而使得客户端能够使用抽象的接口创建一组相关的产品对象。抽象工厂模式定义了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。抽象工厂模式是一种创建型设计模式,它允许客户端创建一系列相关或相互依赖的对象,而无需指定它们具体的类。

2024-07-11 11:19:02 912

原创 技术成神之路:设计模式(四)工厂方法模式

工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂方法模式的主要作用是让子类决定实例化哪一个类,从而实现对象创建的延迟到具体子类中进行。工厂模式解决了简单工厂模式中集中创建逻辑和不符合开闭原则的问题,但同时自身也有一些弊端,但通过合理应用工厂方法模式,在特定的场景可以有效地提高系统的可维护性和扩展性。设计模式没有最好的,只有最适合的,大家在选用时,要权衡利弊,避免过度设计!

2024-07-10 11:18:59 875

原创 在安卓中使用FFmpeg录制摄像头的视频并保存到本地MP4文件

在移动应用开发中,有时需要利用设备的摄像头录制视频,并且希望在录制过程中能够精确控制视频的质量、格式和时长。FFmpeg作为一个强大的多媒体处理工具,提供了广泛的功能和选项,能够帮助我们实现这样的需求。

2024-07-08 18:30:53 602 1

原创 技术成神之路:设计模式(三)原型模式

原型模式(Prototype Pattern)是一种创建型设计模式,旨在通过复制现有对象来创建新对象,而不是通过实例化类的方式。这个模式可以提高对象创建的效率,尤其是在创建对象的过程非常复杂或代价高昂时。

2024-07-03 16:28:11 1295 1

原创 技术成神之路:设计模式(二)建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它允许你分步骤创建复杂对象,而不必直接调用构造函数。建造者模式特别适合那些包含多个组成部分并且构造过程复杂的对象。

2024-07-02 18:40:21 735

原创 技术成神之路:设计模式(一)单例模式

单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。其主要思想是将类的构造函数私有化,并通过一个静态方法来控制实例的创建和访问。五种创建单例的方式,大家按需选择,核心思想都是确保一个类只有一个实例,并提供全局访问点,没有最好的,只有最适合的,理解不同实现方式的优缺点,可以帮助我们在实际开发中选择最合适的方案。

2024-07-01 11:08:12 841

原创 技术成神之路:面向对象的六大设计原则

面向对象的六大原则(SOLID原则)旨在提高代码的可维护性、可读性和可扩展性。单一职责原则(SRP):一个类只应该有一个引起它变化的原因。开闭原则(OCP):软件实体应该对扩展开放,对修改关闭。里氏替换原则(LSP):子类型必须能够替换掉它们的基类型。接口隔离原则(ISP):不应该强迫客户端依赖于它们不使用的方法。依赖倒置原则(DIP):高层模块不应该依赖于低层模块,二者都应该依赖于抽象。迪米特法则(LoD):一个对象应该对其他对象有尽可能少的了解,只与直接的朋友通信。

2024-06-28 18:19:27 392

原创 Android 生成 AAR 包

当我们需要在 Android 项目中引用第三方库或模块时,常常会使用 AAR(Android Archive)包。AAR 包是一种包含了编译后代码、资源文件和清单文件等的二进制文件。

2024-06-27 17:19:19 481

原创 使用 ADB 查看 Android 设备的 CPU 使用率(详解)

希望这篇文章对你在 Android 开发过程中监控 CPU 使用率有所帮助。

2024-06-26 15:43:45 1848

原创 Android Room数据库使用介绍

Room是Google提供的Android架构组件之一,旨在简化数据库操作。它是SQLite的一个抽象层,提供了更易用和安全的API。// tableName 指定了数据库中对应的表名为 "users"。如果不指定,默认使用类名作为表名// 使用默认值 0,autoGenerate = true 表示自动生成主键// 如果不使用 @ColumnInfo 注解,默认情况下 Room 将使用属性名作为数据库中的列名。

2024-06-14 12:07:38 1282 2

原创 聊聊App在安卓设备中所使用的内存

文章用来记录及分享本人对安卓程序中内存使用的个人见解,如有错误 不吝赐教。先简单浏览下面代码,看看对它们是否熟悉👇${${在开发安卓应用时,内存管理一直是一个关键的考虑因素。良好的内存管理不仅可以提高应用的性能,还能避免内存泄漏和崩溃,由于项目所需,特来恶补相关知识。

2024-06-07 18:11:05 694

原创 在Android中使用 MQTT 服务实现消息通信

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种轻量级的、基于发布/订阅()模式的通信协议,最初由 IBM 在1999年开发。它设计用于在低带宽、不稳定的网络环境下进行通信,适用于物联网(IoT)和机器对机器(M2M)通信。通过 MqttAndroidClient 和 MqttConnectOptions 初始化 MQTT 客户端。配置 MQTT 客户端的连接选项,包括用户名、密码、自动重连、清除会话、超时设置和心跳包发送间隔等。

2024-06-07 16:33:58 1234

原创 无法加载类‘org.gradle.api.publication.maven.internal.MavenPomMetaInfoProvider‘

【代码】无法加载类'org.gradle.api.publication.maven.internal.MavenPomMetaInfoProvider‘

2024-05-30 10:17:45 564

原创 在Android中解析XML文件并在RecyclerView中显示

定义一个数据类Item和一个RecyclerView的适配器ItemAdapter。

2024-05-29 17:57:14 597 1

原创 记一次安卓“Low on memory“崩溃问题

最近再调人脸识别算法相关demo,发现调试期间总是偶发性崩溃,捕获不到异常的那种,看日志发现原因是,一开始还疑惑 App内存不够应该是OOM啊,怎么会出现这种问题,百思不得其解,直到我打开了 Android studio中的Profiler不要好奇为什么这么频繁GC,因为不GC我的程序才不正常。最后提醒一下,大家记得处理好子线程异常情况呀,拜拜ヾ(•ω•`)o。

2024-05-25 16:53:54 294

原创 一个用Kotlin编写简易的串行任务调度器

灵活性:允许动态添加任务,并根据任务负载需要创建或关闭执行器,从而管理执行器的生命周期。单线程限制:当前实现使用单线程执行器,这意味着任务是顺序执行的,而不是并行执行。这可能是CPU密集型任务的瓶颈。

2024-05-14 10:39:43 518

原创 在安卓应用中实现Socket通信:创建服务端和客户端

此片文章用来记录学习,方便大家拿来即用,知识点不多,注释已经尽可能详细了,收工,下班!

2024-05-09 19:00:36 367

原创 把握人工智能的浪潮:普通人如何利用AI走向成功?

在数字化的今天,人工智能(AI)技术已成为创新的前沿。普通人如何利用这股趋势,实现个人发展和职业跳跃?下面我为大家推荐几个AI相关的平台,每个平台都有其独特的优势,尤其是前两个,不容错过。支持最近火爆的 suno-v3 AI音乐生成大模型!!支持最新OpenAI GPT4模型:gpt-4-turbo-2024-04-09支持GPTs插件功能。

2024-04-15 10:56:04 796

原创 Android 生成Excel文件保存到本地

本文用来记录在安卓中生成Excel文件并保存到本地操作,在网上找了好久,终于找到一个可以用的,虽然代码已经很老的,但亲测可用!格式有问题,直接用的话会导致文件生成不成功,记得修改一下!可以下载下来修改直接用,该项目主要是依赖一个叫。代码很简单没什么解释的,关键点就是创建。需要注意下原项目传的。

2024-03-22 17:37:54 546

原创 一文搞懂Java线程池

必须了解...:指定线程池中保持存活的基本线程数。即使这些线程处于空闲状态,它们也不会被回收。当有任务提交时,核心线程数会按需自动创建。如果设置了allowCoreThreadTimeOut(允许核心线程超时),那么核心线程会超时并且在超时后被终止。maximumPoolSize(最大线程数):表示线程池中允许存在的最大线程数。在核心线程数已满并且任务队列已满时,线程池会根据需要创建新的线程,直到达到最大线程数。keepAliveTime(线程空闲时间)

2024-03-22 09:33:41 776

原创 Flutter中实现中国省份地图

可以点击省份改变颜色,更多功能可以自行拓展。本文用于记录在Flutter项目中安卓端实现中国地图,因为实现过程是通过Flutter调用安卓原生代码实现,所以IOS端不可用,通过本文你还可以学会如何通过Platform Channels在Flutter代码中调用这些原生代码。

2024-01-24 20:42:53 1364

原创 在Flutter中使用Install_Plugin安装APK

在开发Flutter应用时,有时候我们需要实现在应用内部安装APK的功能。众所周知,Android 7.0以后由于改变了文件URI的访问方式,我们需要使用FileProvider来创建一个content://URI来授予临时访问权限。Flutter不同与原生,在Flutter中要么自己手写插件调用原生代码进行安装APK,要么找个第三方库来实现该功能,本人能力有限就简单介绍并使用本文的主角来实现该功能吧。

2024-01-19 18:37:36 1389

原创 Flutter中使用minio_new库

在移动开发中,我们常常会遇到需要在App中处理文件上传和下载的需求。Minio是一个开源的对象存储服务,它兼容Amazon S3云存储服务接口,可以用于存储大规模非结构化的数据。

2024-01-18 19:42:36 1486 2

原创 Flutter组件GridView使用介绍

GridView 是 Flutter 中用于创建网格布局的滚动小部件。它可以创建多列布局,并且每个网格单元可以包含一个小部件。GridView:最通用的构造函数,完全自定义网格布局。:按需构建网格项,适用于具有大量(或无限)网格项的动态内容。:指定网格中的列数,适用于具有固定数量列的网格。:指定网格中最大交叉轴范围(例如,最大列宽),适用于需要控制列宽的网格。:这个构造函数提供了最高级别的自定义能力,允许使用自定义的SliverGridDelegate和SliverChildDelegate。

2024-01-10 18:53:00 1716

原创 Flutter获取网络图片的宽高

【代码】Flutter获取网络图片的宽高。

2024-01-09 17:09:01 881 1

原创 Flutter应用中安卓和IOS的一些权限配置

在Flutter应用中,无论是安卓(Android)还是iOS设备,都可能需要向用户请求权限以访问特定的设备功能或用户数据。

2024-01-05 18:42:03 953

原创 关于Flutter中Image的BoxFit属性介绍

Image中不加fit属性时图片状态:蓝色框为图片所在容器1.fill完全填充容器。图片或图形的宽度和高度都会被拉伸以完全填充容器,可能会导致结果看起来变形,因为图形的原始宽高比可能不被保持。2.contain保持原始尺寸比例,确保图形完整地显示在容器内。应用这个选项后,图形会缩放以适应容器,同时保持其原始的宽高比,意味着可能会留下未被填充的空间。3.cover保持图形的原始宽高比,缩放图形直到它完全覆盖容器。如果图形的宽高比与容器的不同,则图形的某些部分可能会超出容器边界而被裁剪。4.

2024-01-05 10:10:00 1101

原创 数据结构之<散列表>的介绍

散列表也叫做哈希表,是根据键值对进行存储的一种数据结构。散列表利用哈希函数将给定的键映射到一个特定的位置(通常是数组索引),这个位置通常被称为哈希值或哈希地址。这里可以举个微信好友列表的例子说明,存放好友首字母的表对应的就是散列表。

2023-12-28 22:45:37 874

原创 数据结构之<堆>的介绍

堆是一种特殊的数据结构,通常用于实现优先队列。堆是一个可以被看作近似完全二叉树的结构,并且具有一些特殊的性质,根据这些性质,堆被分为最大堆(或者大根堆,大顶堆)和最小堆两种。

2023-12-24 20:13:34 753

原创 数据结构之<图>的介绍

在数据结构中,图是由节点(顶点)和边组成的非线性数据结构。图用于表示不同对象之间的关系,其中节点表示对象,边表示对象之间的连接或关系。

2023-12-17 22:16:20 1465

原创 数据结构之<树>的介绍

树的基本概念包括根节点、子节点、父节点、兄弟节点等。二叉搜索树是一种有序的二叉树,对于每个节点,其左子树的值都小于该节点的值,右子树的值都大于该节点的值。AVL树是一种高度平衡的二叉搜索树,它的每个节点都有一个平衡因子(Balance Factor),表示其左子树高度和右子树高度之差。自平衡二叉搜索树是一种特殊的二叉搜索树,它在插入或删除节点时会自动调整树的结构,以保持树的平衡性。节点的高度是从该节点到其最远叶子节点的路径长度,叶子节点的高度为0。节点的深度是从根节点到该节点的路径长度,根节点的深度为0。

2023-12-17 21:40:56 997

原创 是否还在为找不到合适的GPT网站而烦恼?不用担心,这里有一些值得一看的汇总!

⭐功能:包含ChartGPT3.5,ChartGPT4.0功能,以及DALL-E3绘画和AI绘画,PDF文件分析,AI联网,AI识图(上传一张图片,能分析出图片上所有细节,体验过真的很强大)。⭐功能:包含ChartGPT3.5,ChartGPT4.0功能,PDF文件分析,语音聊天,图片识别,DALL-E3绘画和AI绘画,PDF文件分析,AI联网等功能。⭐评价:一个小姐姐的个人公益网站,可以免费使用GPT3.5和4.0,因为是公益的而且没有登录功能,可能会随时欠费而导致功能无法使用,而且没有历史记录的。

2023-12-14 21:57:06 1508 1

原创 在Flutter中使用PhotoViewGallery指南

Flutter中的PhotoViewGallery是一个功能强大的插件,用于在应用中展示可缩放的图片。无论是构建图像浏览器、相册应用,还是需要在应用中查看大图的场景,PhotoViewGallery都是一个不错的选择。在PhotoViewGallery中,可以设置许多属性来自定义其行为和外观。itemCount: 数据源的长度,即图片数量。builder: 构建每一页的回调函数,返回一个PhotoViewGalleryPageOptions对象。: 滑动的物理效果。

2023-12-14 14:09:57 1536

Flutter中实现中国地图 core文件

另一篇博客专用!!!

2024-01-24

libopencv-info.so

据说是 最新OpenCV官方SDK里面缺少的一个库,但是这个库非常重要。不然会影响到免安装OpenCV Manager,从github上找的armeabi-v7a 下面的,我反正试了没用,需要的可以试试,反正又不要积分

2023-07-20

与元素类型 "item" 相关联的 "name" 属性值不能包含 '<' 字符 【annotations.zip】

替换你sdk 下的 D:\xxx\platform-tools\api\annotations.zip 压缩包重新编译即可,感谢:https://www.jianshu.com/p/533a8d64e739

2021-08-05

空空如也

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

TA关注的人

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