NFC 碰一碰发视频源码搭建,碰一碰发视频定制化开发技术
在移动互联时代,便捷的数据传输方式备受青睐。NFC(近场通信)技术以其操作简单、连接迅速的特性,为设备间的数据交互提供了高效解决方案。通过搭建 NFC 碰一碰发视频功能,用户只需将支持 NFC 的设备轻轻靠近,即可快速完成视频传输。本文将深入讲解该功能的源码搭建过程,涵盖技术原理、开发环境配置、核心代码实现以及测试优化等内容,帮助开发者掌握这一实用技术。
一、NFC 技术原理与开发基础
1.1 NFC 技术概述
NFC 是一种短距离高频无线通信技术,工作频率为 13.56MHz,通信距离通常在 10 厘米以内 。它支持三种工作模式:
- 卡模拟模式:设备模拟成 NFC 卡片,可用于移动支付、门禁系统等场景。
- 读写模式:设备作为读写器,读取 NFC 标签中的数据,如读取公交卡余额、商品信息等。
- 点对点模式:实现两个 NFC 设备之间的数据交换,这也是实现碰一碰发视频功能的核心模式。在点对点模式下,NFC 设备通过调制和解调射频信号,将数据编码后在设备间传输。
1.2 开发环境准备
- 硬件要求:开发该功能需要配备支持 NFC 功能的设备,目前大多数中高端 Android 手机都内置 NFC 芯片;部分新款 iPhone 也支持有限的 NFC 功能。此外,可准备 NFC 测试标签辅助开发调试。
- 软件工具:
-
- Android 开发:使用 Android Studio 作为集成开发环境,需安装 Android SDK(软件开发工具包),其中包含 NFC 开发所需的 API 和工具。
-
- iOS 开发:通过 Xcode 进行开发,但 iOS 系统对 NFC 功能的开放程度有限,主要用于读取 NFC 标签
数,若要实现设备间数据传输,需借助外部配件或特定技术。因此,本文主要以 Android 平台为例进行讲解。
- 开发语言:Android 开发主要使用 Java 或 Kotlin 语言,需要熟悉 Android 应用开发的基本流程和 UI 设计知识。
二、核心功能模块代码实现
2.1 Android 端 NFC 权限配置与初始化
- 权限申请:在AndroidManifest.xml文件中添加 NFC 权限,代码如下:
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />
这一步相当于给应用颁发 “NFC 使用许可证”,确保应用能够调用 NFC 相关功能。
- NFC 适配器初始化:在 Activity 中获取 NFC 适配器实例,并检查设备是否支持 NFC 功能,示例代码如下:
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (nfcAdapter == null) {
// 设备不支持NFC,提示用户
Toast.makeText(this, "设备不支持NFC", Toast.LENGTH_SHORT).show();
return;
}
通过上述代码,若设备不支持 NFC,会弹出提示信息告知用户。
2.2 NDEF 消息处理与数据传输
NDEF(NFC Data Exchange Format)是 NFC 设备间交换数据的标准格式,我们需要将视频数据或视频路径封装成 NDEF 消息进行传输。
- 创建 NDEF 消息:以下是创建包含文本数据(如视频路径)的 NDEF 消息示例代码:
private NdefMessage createTextRecord(String content) {
byte[] textBytes = content.getBytes();
NdefRecord record = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, "text/plain".getBytes(), new byte[] {}, textBytes);
return new NdefMessage(new NdefRecord[]{record});
}
该方法将传入的字符串(视频路径)转换为 NDEF 记录,并构建成 NDEF 消息。
- 发送 NDEF 消息:当两个 NFC 设备靠近时,通过以下代码发送 NDEF 消息:
private void sendVideoPath(String videoPath) {
NdefMessage ndefMessage = createTextRecord(videoPath);
if (nfcAdapter.isEnabled()) {
try {
nfcAdapter.transceive(ndefMessage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
此代码先创建 NDEF 消息,然后在 NFC 适配器启用的情况下,将消息发送出去。
- 接收 NDEF 消息:在 Activity 中重写onNewIntent方法,处理接收到的 NDEF 消息,示例代码如下:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
NdefMessage ndefMessage = intent.getParcelableExtra(NfcAdapter.EXTRA_NDEF_MESSAGE);
for (NdefRecord record : ndefMessage.getRecords()) {
if (record.getTnf() == NdefRecord.TNF_MIME_MEDIA && Arrays.equals(record.getType(), "text/plain".getBytes())) {
try {
String text = new String(record.getPayload(), "UTF-8");
// 处理接收到的视频路径,如开始下载视频
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
}
}
当检测到有 NDEF 消息时,解析消息中的数据,获取视频路径,后续可根据路径进行视频下载等操作。
2.3 视频数据处理
- 视频读取与分割:在发送端,使用FileInputStream读取视频文件,并将其分割成合适大小的数据包,为每个数据包添加序号和校验信息,确保数据传输的准确性。示例代码如下:
File videoFile = new File("path/to/video.mp4");
FileInputStream fis = new FileInputStream(videoFile);
byte[] buffer = new byte[1024];
int length;
int packetNumber = 0;
while ((length = fis.read(buffer)) > 0) {
// 为数据包添加序号和校验信息
byte[] packet = addPacketInfo(buffer, length, packetNumber);
// 发送数据包
sendPacket(packet);
packetNumber++;
}
fis.close();
上述代码循环读取视频文件数据,处理后发送数据包。
- 视频接收与重组:在接收端,按顺序接收数据包,根据序号和校验信息判断数据的完整性和正确性。若发现数据包丢失或错误,请求发送端重传。将正确接收的数据包写入新的视频文件,示例代码如下:
FileOutputStream fos = new FileOutputStream("path/to/received_video.mp4");
int bytesRead;
while ((bytesRead = receivePacket(buffer)) > 0) {
// 校验数据包
if (isPacketValid(buffer, bytesRead)) {
// 提取有效数据
byte[] validData = extractValidData(buffer, bytesRead);
fos.write(validData);
} else {
// 请求重传
requestRetransmission();
}
}
fos.close();
通过该代码实现视频数据的接收、校验和重组,最终保存为完整视频。
2.4 用户界面设计
使用 XML 布局文件设计应用界面,添加触发 NFC 传输的按钮、显示传输进度的进度条以及提示信息的文本框。例如,布局文件部分代码如下:
<Button
android:id="@+id/send_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="碰一碰发送视频" />
<ProgressBar
android:id="@+id/progress_bar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/info_text"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在 Java 代码中为按钮绑定点击事件,调用发送视频的方法,同时更新进度条和提示信息,实现与用户的交互。
三、测试与优化
3.1 功能测试
- NFC 连接测试:在不同的 Android 设备间进行测试,检查 NFC 是否能够正常连接,确保ACTION_NDEF_DISCOVERED事件能够正确触发。
- 视频传输测试:传输不同大小、格式的视频文件,验证视频数据的完整性,检查接收后的视频是否能够正常播放。
- 界面交互测试:测试按钮点击、进度条更新、提示信息显示等界面交互功能是否正常。
3.2 性能优化
- 数据压缩:在发送视频前,使用 FFmpeg 等工具对视频进行压缩处理,降低视频文件大小,减少传输时间和数据量。
- 错误处理优化:完善数据包的校验和重传机制,提高数据传输的可靠性,减少因数据错误导致的传输失败。
- 资源管理优化:合理管理文件流、缓冲区等资源,及时关闭不再使用的资源,避免内存泄漏和资源浪费。
3.3 兼容性测试
在不同品牌、型号、系统版本的 Android 设备上进行兼容性测试,检查 NFC 功能是否正常工作,界面显示是否正常。针对发现的兼容性问题,调整代码或配置参数进行适配。
四、总结
通过以上步骤,我们完成了 NFC 碰一碰发视频功能的源码搭建。从 NFC 技术原理的理解,到开发环境的配置,再到核心功能的代码实现以及最后的测试优化,每个环节都至关重要。随着 NFC 技术的不断普及和发展,该功能还有很大的拓展空间,例如与云存储结合实现视频的云端传输、添加加密功能保障数据安全等。希望本文能为开发者在 NFC 应用开发领域提供有益的参考,助力更多创新应用的诞生。
以上文章详细展示了 NFC 碰一碰发视频源码搭建的全流程。若你在开发过程中遇到问题,或有功能拓展的想法,欢迎在评论区交流讨论。据
相关文章:
NFC 碰一碰发视频源码搭建,碰一碰发视频定制化开发技术
在移动互联时代,便捷的数据传输方式备受青睐。NFC(近场通信)技术以其操作简单、连接迅速的特性,为设备间的数据交互提供了高效解决方案。通过搭建 NFC 碰一碰发视频功能,用户只需将支持 NFC 的设备轻轻靠近,…...
获取视频封面
目录 实现方式注意事项代码实现 实现方式 通过 video 元素canvas 元素的方式实现 生成 video 和 canvas 元素当 video 元素资源加载完成时,将 video 元素绘制到 canvas 画布上,然后通过 toBlob 或则 toDataURL 获取到对应的封面图片资源 注意事项 vid…...
c#开发大冲锋游戏登录器
1 前言 本文主要分享登录器的简要开发过程,只适合小白选手,高手请自动避让。 此项目是复刻大冲锋计划中的子集。 (注:大冲锋是迅雷代理的一款次时代多职业第一人称FPS射击游戏,目前已经关服嗝屁。) 2 …...
堆的实现以及利用堆进行排序
堆 堆的实现1. 什么是堆?2. 最小堆的核心操作2.1 初始化堆2.2 销毁堆2.3 插入元素2.4 删除堆顶元素2.5 获取堆顶元素2.6 判断堆是否为空 3. 调整堆的算法3.1 向上调整3.2 向下调整 4. 测试代码 堆排序一.向下调整建堆二.向上调整建堆 时间复杂度分析向上建堆分析&am…...
FPGA-VGA
目录 前言 一、VGA是什么? 二、物理接口 三、VGA显示原理 四、VGA时序标准 五、VGA显示参数 六、模块设计 七、波形图设计 八、彩条波形数据 前言 VGA的FPGA驱动 一、VGA是什么? VGA(Video Graphics Array)是IBM于1987年推出的…...
仿腾讯会议项目开发——界面关闭功能实现
目录 1、include(./netapi/netapi.pri) 2、加快构建速度 3、INCLUDEPATH./netapi 4、添加控制类 5、用单例模式创建一个Ckernel的对象 6、创建一个回收的槽函数 7、添加界面文件 8、创建一个私有的界面对象 9、修改为使用单例模式的控制类创建界面 10、在Ckernel类中…...
微信小程序怎么分包步骤(包括怎么主包跳转到分包)
第一步 主包跳转到分包 第一步 第二步...
点云配准控制迭代停止的阈值
在点云配准(如ICP算法)中,setEuclideanFitnessEpsilon() 是一个设置收敛条件的函数,用于控制迭代停止的阈值。以下是关于该参数的详细说明: 函数作用 setEuclideanFitnessEpsilon() 设置的是 两次连续迭代之间均方误…...
高频面试题:Android MVP/MVVM/MVI这几种架构在实际生产中,各自的优缺点和适用场景是什么
安卓开发早期的架构模式相对简单,许多开发者直接在Activity或Fragment中堆砌业务逻辑和UI操作,这种方式虽然在小型项目中看似高效,但随着代码量的增加,很快就会导致逻辑混乱、难以测试和维护的问题。Activity和Fragment作为安卓框…...
国内主要半导体厂家
以下是国内主要半导体厂家按产品类别(模拟、数字、MCU、功率、传感器等)的分类总结,涵盖各领域代表企业及其核心产品方向: 一、模拟芯片(Analog IC) 圣邦微电子(SGMICRO)…...
DeepSeek深度观察:白宫“炒人“威胁的语义强度与市场应激量化分析
一、AI观察:政治博弈的语义强度分析 通过NLP情感分析模型对特朗普近期公开言论的语义解析显示,总统在社交媒体及记者会中多次使用"立即解雇""卷铺盖走人"等极端表述,其公开威胁解雇鲍威尔的推文互动量突破120万次&#…...
城市街拍暗色电影胶片风格Lr调色教程,手机滤镜PS+Lightroom预设下载!
调色介绍 城市街拍暗色电影胶片风格 Lr 调色,是借助 Adobe Lightroom 软件,为城市街拍的人像或场景照片赋予独特视觉风格的后期处理方式。旨在模拟电影胶片质感,营造出充满故事感与艺术感的暗色氛围,让照片仿佛截取于某部充满张力…...
图像分类标注小工具
图像分类标注小工具 不说废话 上代码 import os import cv2 import shutil import csvclass ImageLabeler:def __init__(self, input_dir, output_dir, class_names, csv_pathlabel_log.csv, preview_size(800, 800)):self.input_dir input_dirself.output_dir output_dirse…...
leetcode 2364. 统计坏数对的数目 中等
给你一个下标从 0 开始的整数数组 nums 。如果 i < j 且 j - i ! nums[j] - nums[i] ,那么我们称 (i, j) 是一个 坏数对 。 请你返回 nums 中 坏数对 的总数目。 示例 1: 输入:nums [4,1,3,3] 输出:5 解释:数对…...
网络互连与互联网3
1.SMTP简单邮件传输协议,用于发送电子邮件,默认情况下是明文传输,没有加密机制。 SSL是一种安全协议,对电子邮件进行加密传输。 POP3主要用于接收电子邮件 IMAP用于接收电子邮件 2.采用存储-转发方式处理信号的设备是交换机 …...
docker部署springboot(eureka server)项目
打jar包 使用maven: <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>17</source><target>17&…...
git 出现 port 443 Connection timed out
梯子正常延迟不算严重,但在使用git push时反复出现 fatal: unable to access https://github.com/irvingwu5/xxxx.git/ Error in the HTTP2 framing layer Failed to connect to github.com port 443 after 136353 ms: Connection timed out 将git的网络配置与梯子…...
深入 MySQL 高级查询:JOIN、子查询与窗口函数的实用指南
在数据管理和分析的过程中,MySQL 提供了强大的查询功能,特别是在处理复杂数据关系时。本文将深入探讨 MySQL 的三种高级查询技术:JOIN、子查询和窗口函数。通过对这些技术的详细讲解和示例,帮助您更好地掌握并应用这些查询技巧。 …...
AXOP36061S: 60V 高压单通道运算放大器
AXOP36061S 是一款通用型高压带关断功能的单通道运算放大器,工作电压为3V至60V,具有17MHz的带宽和 15V/μs的压摆率,静态电流2.2mA,关断电流80μA,高耐压和宽带宽使其可以胜任绝大多数的高压应用场景。得益于对噪声和T…...
Aladdin显卡多任务运行教程
Aladdin显卡多任务运行 任务场景操作步骤其他说明 任务场景 当我运行我的代码后发现80G的显存仅占用了46G左右,还有很大空间没有被使用,于是想着能不能把剩下的空间也利用起来,于是有了接下来的工作。 操作步骤 当我们使用GPU run/debug/…...
Oracle AWR快照保留策略及其修改
文章目录 一、AWR快照保留机制及其修改方法二、生产环境建议三、监控建议 一、AWR快照保留机制及其修改方法 默认保留策略: • 标准保留期:8天 • 快照间隔:每小时1次(默认) • 存储位置:SYSAUX表空间 保留…...
日本公司如何实现B2B商城订货系统的自动化和个性化?
在日本构建具备前后台日文本地化、业务员代客下单、一客一价、智能拆单发货的B2B电商系统,需结合日本商业习惯与技术实现。以下是关键模块的落地方案: 一、系统架构设计 1. 前端本地化 语言与UI适配 采用全日语界面,包含敬语体系(…...
JavaScript 核心特性完全指南
引言 JavaScript 已经不再只是浏览器中的脚本语言,它支撑着前端、后端(Node.js)、桌面(Electron)、移动端(React Native)等多种生态。要在现代 Web 开发中游刃有余,除了会写代码,更要深刻理解语言特性、掌握常见模式和优化技巧。下面逐一深入解析 20 大核心特性。 1.…...
CentOS系统中排查进程异常终止的日志
在CentOS系统中排查进程异常终止的日志,可通过以下步骤结合多类日志文件和工具进行综合分析: 一、核心日志文件排查 系统全局日志 查看 /var/log/messages:记录系统级错误、内核消息及进程异常终止信息,如OOM Killer事件。…...
Vue组件安全工程的量子跃迁:从基因改造到生态免疫
总章数字生命的进化论 2023年某电商平台红蓝对抗中,一个未净化的v-html指令导致千万用户数据泄露。当我们剖开现代Web应用的器官式架构,发现90%的安全漏洞都源自组件间的信任危机。本文将带您见证如何用军工级防御体系重构Vue组件,使其具备类…...
编程技能:调试03,逐过程命令与退出调试
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:调试02,设置断点与删除断点 回…...
基于Ubuntu22.04和OpenCV4.5.4的物联网人脸识别考勤机
前言:本人已有Ubuntu22.04的相关开发环境配置,并且默认C和机器学习基础,这里直接从安装opencv开始,完整代码在最后。具体情况具体分析,请以实际为主。 视频参考:【大厂敲门砖】从0到1做一个物联网人脸识别…...
java 排序算法-快速排序
快速排序(Quick Sort)是一种高效的排序算法,它使用分治法(Divide and Conquer)策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。 快速排序算法的基本思想: 选择基准值&…...
openEuler系统下源码编译安装Nginx实践教程
openEuler 24.03 LTS 源码编译安装Nginx实践教程 前言一、环境准备1. 系统要求2. 更新系统与基础配置二、依赖安装1. 安装编译工具链2. 安装Nginx核心依赖三、源码编译安装1. 下载Nginx源码2. 创建专用系统用户3. 配置编译参数4. 编译与安装四、服务配置与管理1. 创建Systemd服…...
helloword 1(安卓逆向工具简单利用)
题目 做法 下载,不要解压,直接拖入Exeinfo PE进行分析 文件后缀是apk,判断为安卓逆向题 拖进ApkIDE 先找主函数main函数,这题的flag直接出来了 (搜索内容不要习惯性空格之类,这样会找不出来)…...
基于ONT数据的乳腺癌BRCA1和BRCA2变异检测方法
评估 BRCA1/2 分子状态已成为乳腺癌患者治疗的标准操作。例如聚合酶抑制剂(PARPi)的开发和临床应用,PARPi 是肿瘤学家新疗法中的关键方式。已发现 PARPi 可改善携带 BRCA1/2 种系或体细胞突变的乳腺癌患者的临床结局,提高患者生存率和生活质量。因此,目前全球指南强烈建议…...
uniapp运行在app端如何使用缓存
uniapp运行在app端如何使用缓存 众所周知,uniapp可以一套代码,多端运行。但是需要注意的是,window对象以及document是浏览器特有的(所以app端无法使用localStorage等api),因此,uniapp贴心的为我们准备了getStorage…...
人工智能代理重塑数字成功:为何面向机器的营销是下一前沿
随着人工智能(AI)改变消费者与数字世界的互动方式,数字营销正迎来一场革命性变革。2025年4月14日发布的一项研究揭示了AI代理——代表用户自主研究、比较和推荐产品或服务的系统——的日益增长的影响力。该研究探讨了这些代理如何与在线内容交…...
《奇迹世界起源》:神之月晓活动介绍!
神之月晓是《奇迹世界起源》手游中的一项限时抽奖活动,为玩家提供了获取丰厚奖励的机会。活动期间,玩家可以通过充值达到指定金额获得抽奖资格,每次充值一定金额即可获得一次抽奖机会,每天有抽奖次数上限。 活动规则:…...
AI测试用例生成平台
AI测试用例生成平台 项目背景技术栈业务描述项目展示项目重难点 项目背景 针对传统接口测试用例设计高度依赖人工经验、重复工作量大、覆盖场景有限等行业痛点,基于大语言模型技术实现接口测试用例智能生成系统。 技术栈 LangChain框架GLM-4模型Prompt Engineeri…...
【web服务_负载均衡Nginx】二、Nginx 核心技术之负载均衡与反向代理
一、负载均衡与反向代理概述 在互联网应用场景中,随着用户访问量的不断增加,单台服务器往往难以满足性能和可靠性的需求。负载均衡与反向代理技术应运而生,成为保障高并发、稳定服务的关键技术。负载均衡旨在将大量的客户端请求合理分配到…...
前端基础之《Vue(6)—组件基础(2)》
接上一篇。 七、v-model深入学习 <html> <head><title>组件基础-4</title><style>.score {display: inline-block;}.score>span {display: inline-block;width: 25px;height: 25px;background: url(./assets/star.png) center center / 25p…...
计算机网络——应用层
一、HTTP报文结构 (1)请求 请求行:请求头:空行:请求体: (2)响应 状态行:响应头:空行:响应体: (3)补充说明…...
基于springBoot+vue的PC 端学习系统(源码+lw+部署文档+讲解),源码可白嫖!
摘要 随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,线上管理系统展现了其蓬勃生命力和广阔的前景。与此同时,在疫…...
《软件设计师》复习笔记(11.3)——需求获取、分析、定义、验证、管理
目录 一、软件需求概述 真题示例: 二、质量功能部署(QFD) 三、需求开发流程 需求获取 需求分析 需求定义(SRS) 需求验证 真题示例: 四、需求管理 真题示例: 一、软件需求概述 软件…...
iOS Google登录
iOS Google登录 SDK下载地址在 Firebase 有下载,要下载整个SDK文件,然后拿其中的Google 登录SDK来使用 Firebase 官方文档 github 下载链接...
使用 Axios 进行 API 请求与接口封装:打造高效稳定的前端数据交互
引言 在现代前端开发中,与后端 API 进行数据交互是一项核心任务。Axios 作为一个基于 Promise 的 HTTP 客户端,以其简洁易用、功能强大的特点,成为了前端开发者处理 API 请求的首选工具。本文将深入探讨如何使用 Axios 进行 API 请求&#x…...
使用VHDL语言实现TXT文件的读写操作
使用FPGA进行图像处理时,通常需要将TXT文件中的图像数据读出到TestBench中,并将仿真的结果写入到TXT文件中,用于确认图像处理的结果是否正确。 VHDL中TXT文件的读写操作如下所示, --------------------------------------------…...
【家政平台开发(55)】家政平台数据生命线:备份与恢复策略全解析
本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化,测试阶段多维度保障平台质量,…...
AbMol—细胞因子,你用对了么?
细胞因子是干细胞、类器官、肿瘤、免疫等研究中常用到的一类蛋白试剂,它的种类十分丰富,AbMole为大家介绍各类细胞因子及其适用的实验类型。AbMole提供高品质抑制剂、细胞因子、人源单抗、天然产物、荧光染料、多肽、抗生素。 细胞因子的定义与分类 细胞…...
【AI】实现中文文章摘要的AI模型
【AI】实现中文文章摘要的AI模型 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 【AI】实现中文文章摘要的AI模型简介安装库加载模型获取 PEFT 模型测试模型简介 最近逛github查看…...
累计达2.04亿户!中国联通首次公布5G网络用户数据
快科技4月18日消息,日前中国联通公布了2025年第一季度运营数据。 中国联通表示,为更好反映本公司5G发展情况,公司将定期披露的5G套餐用户数更新为5G网络用户数,5G网络用户为当期使用过5G网络的移动用户。 数据方面,截…...
【重学Android】1.关于@Composer注解的一点知识笔记
最新因为一些原因,开始重新学习Android及kotlin编程,也觉得可以顺带记录下这个过程中的一些知识点,也可以用作日后自己查找复习。 Composable 注解在 Android 开发中的使用 Composable 是 Jetpack Compose(Android 的现代声明式…...
OAuth2AuthorizationEndpointConfigurer类介绍、应用场景和示例代码
概述 OAuth2AuthorizationEndpointConfigurer 是 Spring Security OAuth2 授权服务器模块中的一个重要配置类,用于配置 OAuth2 授权端点(/oauth2/authorize)。 核心功能 这个配置类主要负责: 处理授权码授权流程中的授权请求 处理用户同意(consent)流…...
方德桌面操作系统V5.0-G23部署Ollama+DeekSeep+OpenWebUI
一、解压并安装 Ollama 1. 解压文件 链接:ollama-linux-amd64.tgz下载地址 rootyuhua-virtualmachine:~# tar -xzvf ollama-linux-amd64.tgz bin/ollama lib/ollama/cuda_v11/ lib/ollama/cuda_v11/libggml-cuda.so lib/ollama/cuda_v11/libcublas.so.1…...