Android笔试面试题AI答之Android基础(7)

news2025/1/2 20:45:19

Android入门请看《Android应用开发项目式教程》,视频、源码、答疑,手把手教
在这里插入图片描述

文章目录

  • 1.Android开发如何提高App的兼容性?
      • **1. 支持多版本 Android 系统**
      • **2. 适配不同屏幕尺寸和分辨率**
      • **3. 处理不同硬件配置**
      • **4. 适配不同语言和地区**
      • **5. 测试与调试**
      • **6. 使用兼容性库**
      • **7. 处理 API 差异**
      • **8. 优化性能**
      • **9. 用户反馈与监控**
      • **10. 遵循最佳实践**
      • **总结**
  • 2.Android开发如何应对版本碎片化的问题?
      • **1. 支持多版本 Android 系统**
      • **2. 处理 API 差异**
      • **3. 适配不同屏幕尺寸和分辨率**
      • **4. 处理不同硬件配置**
      • **5. 测试与调试**
      • **6. 使用兼容性库**
      • **7. 优化性能**
      • **8. 用户反馈与监控**
      • **9. 遵循最佳实践**
      • **10. 模块化与动态功能**
      • **总结**
  • 3.Android嵌入式开发与Android应用开发有哪些区别?
      • **1. 目标设备**
      • **2. 开发工具**
      • **3. 技术栈**
      • **4. 系统定制**
      • **5. 性能与资源**
      • **6. 应用场景**
      • **7. 调试与测试**
      • **8. 发布与维护**
      • **总结**
  • 4.Android车载应用开发需要注意什么?
      • **1. 安全性**
      • **2. 硬件限制**
      • **3. 用户体验**
      • **4. 实时性**
      • **5. 网络与连接**
      • **6. 法规与标准**
      • **7. 测试与调试**
      • **8. 系统集成**
      • **9. 多任务处理**
      • **10. 用户隐私**
      • **总结**
  • 5.Android手表应用开发有什么特点?
      • **1. 硬件限制**
      • **2. 用户交互**
      • **3. 界面设计**
      • **4. 功能特性**
      • **5. 数据同步**
      • **6. 性能优化**
      • **7. 测试与调试**
      • **8. 发布与分发**
      • **9. 用户隐私**
      • **总结**

1.Android开发如何提高App的兼容性?

提高 Android 应用的兼容性是确保应用在不同设备、操作系统版本和硬件配置上都能正常运行的关键。以下是一些提高 Android App 兼容性的实用方法和建议:


1. 支持多版本 Android 系统

  • 最小 SDK 版本(minSdkVersion)
    • 根据目标用户群体选择合适的 minSdkVersion,避免过低或过高。
    • 使用 Android StudioAPI 级别仪表板 查看 Android 版本分布:API 级别仪表板。
  • 目标 SDK 版本(targetSdkVersion)
    • targetSdkVersion 设置为最新版本,以确保应用能够利用最新的功能和优化。
  • 兼容性检查
    • 使用 Android Lint 检查代码中可能存在的兼容性问题。
    • 使用 AndroidX 库,它提供了向后兼容的 API。

2. 适配不同屏幕尺寸和分辨率

  • 使用 ConstraintLayout
    • ConstraintLayout 可以灵活地适配不同屏幕尺寸,减少布局问题。
  • 多屏幕资源
    • 提供不同分辨率的资源文件(如 drawable-hdpidrawable-xhdpi)。
    • 使用 矢量图(Vector Drawable),避免为不同分辨率提供多套图片。
  • 布局优化
    • 使用 wrap_contentmatch_parent 代替固定尺寸。
    • 使用 weight 属性在 LinearLayout 中分配空间。

3. 处理不同硬件配置

  • 检查硬件功能
    • 使用 <uses-feature> 标签声明应用所需的硬件功能(如摄像头、GPS)。
    • 在运行时检查硬件功能是否可用:
      if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
          // 摄像头可用
      }
      
  • 处理权限
    • 在运行时请求权限,确保应用在无权限时仍能正常运行。
    • 使用 AndroidX ActivityFragment 库简化权限请求流程。

4. 适配不同语言和地区

  • 多语言支持
    • 将字符串资源放在 res/values/strings.xml 中,并为不同语言提供翻译文件(如 res/values-es/strings.xml 用于西班牙语)。
  • 本地化适配
    • 使用 DateFormatNumberFormat 处理日期和数字的本地化显示。
    • 避免硬编码字符串和格式。

5. 测试与调试

  • 使用模拟器
    • 使用 Android Studio 的 AVD Manager 创建不同设备配置的模拟器,测试应用的兼容性。
  • 真机测试
    • 在多种真实设备上测试应用,覆盖不同品牌、型号和操作系统版本。
  • 云测试平台
    • 使用 Firebase Test LabAWS Device Farm 等云测试平台,覆盖更多设备。

6. 使用兼容性库

  • AndroidX
    • 使用 AndroidX 库,它提供了向后兼容的 API 和组件。
  • Support Library
    • 如果尚未迁移到 AndroidX,可以使用 Support Library 提供兼容性支持。

7. 处理 API 差异

  • 版本检查
    • 在调用新 API 前检查系统版本:
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          // 使用新 API
      } else {
          // 使用兼容方案
      }
      
  • 使用兼容性方法
    • 使用 ContextCompatActivityCompat 等兼容性工具类,简化 API 调用。

8. 优化性能

  • 内存管理
    • 避免内存泄漏,使用 LeakCanary 检测内存问题。
    • 优化图片加载,使用 GlidePicasso
  • 后台任务
    • 使用 WorkManager 管理后台任务,确保在不同系统版本上行为一致。

9. 用户反馈与监控

  • Crash 监控
    • 使用 Firebase CrashlyticsSentry 监控应用崩溃,及时修复问题。
  • 用户反馈
    • 提供用户反馈渠道,收集兼容性问题并快速响应。

10. 遵循最佳实践

  • Material Design
    • 遵循 Material Design 指南,确保应用在不同设备上有一致的用户体验。
  • ProGuard/R8
    • 使用 ProGuardR8 优化和混淆代码,减少 APK 大小并提高安全性。

总结

提高 Android 应用的兼容性需要从多个方面入手,包括支持多版本系统、适配不同屏幕和硬件、处理语言和地区差异、进行充分测试、使用兼容性库、优化性能等。通过遵循这些最佳实践,可以确保应用在广泛的设备上正常运行,并提供良好的用户体验。

2.Android开发如何应对版本碎片化的问题?

Android 的版本碎片化是开发者面临的主要挑战之一,因为不同设备运行着不同的 Android 版本、屏幕尺寸、硬件配置和定制化系统。为了应对这一问题,开发者需要采取一系列策略来确保应用在各种设备上都能正常运行。以下是一些实用的方法和建议:


1. 支持多版本 Android 系统

  • 合理设置 minSdkVersion 和 targetSdkVersion
    • minSdkVersion:根据目标用户群体选择最低支持的 Android 版本。可以参考 Android 版本分布 做出决策。
    • targetSdkVersion:设置为最新版本,以确保应用能够利用最新的功能和优化。
  • 使用 AndroidX 和 Jetpack 库
    • AndroidX 提供了向后兼容的 API 和组件,帮助开发者减少版本兼容性问题。
    • 例如,使用 ActivityCompatContextCompat 等工具类替代直接调用系统 API。

2. 处理 API 差异

  • 版本检查
    • 在调用新 API 前检查系统版本:
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          // 使用新 API
      } else {
          // 使用兼容方案
      }
      
  • 提供替代方案
    • 对于不支持新 API 的设备,提供功能降级或替代方案。例如,如果设备不支持 BiometricPrompt,可以使用传统的密码验证。

3. 适配不同屏幕尺寸和分辨率

  • 使用 ConstraintLayout
    • ConstraintLayout 可以灵活地适配不同屏幕尺寸,减少布局问题。
  • 多屏幕资源
    • 提供不同分辨率的资源文件(如 drawable-hdpidrawable-xhdpi)。
    • 使用 矢量图(Vector Drawable),避免为不同分辨率提供多套图片。
  • 布局优化
    • 使用 wrap_contentmatch_parent 代替固定尺寸。
    • 使用 weight 属性在 LinearLayout 中分配空间。

4. 处理不同硬件配置

  • 检查硬件功能
    • 使用 <uses-feature> 标签声明应用所需的硬件功能(如摄像头、GPS)。
    • 在运行时检查硬件功能是否可用:
      if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
          // 摄像头可用
      }
      
  • 处理权限
    • 在运行时请求权限,确保应用在无权限时仍能正常运行。
    • 使用 AndroidX ActivityFragment 库简化权限请求流程。

5. 测试与调试

  • 使用模拟器
    • 使用 Android Studio 的 AVD Manager 创建不同设备配置的模拟器,测试应用的兼容性。
  • 真机测试
    • 在多种真实设备上测试应用,覆盖不同品牌、型号和操作系统版本。
  • 云测试平台
    • 使用 Firebase Test LabAWS Device Farm 等云测试平台,覆盖更多设备。

6. 使用兼容性库

  • AndroidX
    • 使用 AndroidX 库,它提供了向后兼容的 API 和组件。
  • Support Library
    • 如果尚未迁移到 AndroidX,可以使用 Support Library 提供兼容性支持。

7. 优化性能

  • 内存管理
    • 避免内存泄漏,使用 LeakCanary 检测内存问题。
    • 优化图片加载,使用 GlidePicasso
  • 后台任务
    • 使用 WorkManager 管理后台任务,确保在不同系统版本上行为一致。

8. 用户反馈与监控

  • Crash 监控
    • 使用 Firebase CrashlyticsSentry 监控应用崩溃,及时修复问题。
  • 用户反馈
    • 提供用户反馈渠道,收集兼容性问题并快速响应。

9. 遵循最佳实践

  • Material Design
    • 遵循 Material Design 指南,确保应用在不同设备上有一致的用户体验。
  • ProGuard/R8
    • 使用 ProGuardR8 优化和混淆代码,减少 APK 大小并提高安全性。

10. 模块化与动态功能

  • 模块化开发
    • 将应用拆分为多个模块,按需加载功能,减少安装包大小。
  • 动态功能模块(Dynamic Feature Modules)
    • 使用动态功能模块,根据设备需求下载和安装特定功能。

总结

应对 Android 版本碎片化问题需要从多个方面入手,包括支持多版本系统、处理 API 差异、适配不同屏幕和硬件、进行充分测试、使用兼容性库、优化性能等。通过遵循这些最佳实践,可以确保应用在广泛的设备上正常运行,并提供良好的用户体验。

3.Android嵌入式开发与Android应用开发有哪些区别?

Android 嵌入式开发Android 应用开发 是两种不同的开发领域,尽管它们都基于 Android 平台,但在目标设备、开发工具、技术栈和应用场景上有显著区别。以下是两者的主要区别:


1. 目标设备

  • Android 应用开发
    • 目标设备主要是智能手机和平板电脑。
    • 面向普通消费者,注重用户体验和交互设计。
  • Android 嵌入式开发
    • 目标设备包括智能电视、智能手表、车载系统、智能家居设备、工业设备等。
    • 面向特定行业或场景,注重设备的稳定性、实时性和定制化。

2. 开发工具

  • Android 应用开发
    • 使用 Android Studio 作为主要开发工具。
    • 依赖 Android SDK 和 Jetpack 组件。
  • Android 嵌入式开发
    • 使用 Android Things(已停止支持)或定制化的 Android 系统。
    • 可能需要使用嵌入式开发工具链(如 GCC、Makefile)和硬件调试工具(如 JTAG)。

3. 技术栈

  • Android 应用开发
    • 主要使用 JavaKotlin 编程语言。
    • 使用 Android SDK 提供的 API 和组件(如 Activity、Fragment、RecyclerView)。
    • 依赖第三方库(如 Retrofit、Glide、Room)。
  • Android 嵌入式开发
    • 可能需要使用 C/C++ 编写底层驱动或硬件交互代码。
    • 使用 Android NDK 进行本地开发。
    • 需要了解硬件接口(如 GPIO、I2C、SPI)和嵌入式操作系统(如 Linux)。

4. 系统定制

  • Android 应用开发
    • 开发基于标准 Android 系统的应用,无需修改系统底层。
    • 应用运行在用户空间,受系统权限和安全机制限制。
  • Android 嵌入式开发
    • 可能需要定制 Android 系统,包括内核修改、驱动开发和系统优化。
    • 需要处理硬件抽象层(HAL)和设备树(Device Tree)。
    • 可能需要禁用或替换标准 Android 组件(如 Launcher、SystemUI)。

5. 性能与资源

  • Android 应用开发
    • 目标设备通常具有较高的硬件配置(如多核 CPU、大内存、高分辨率屏幕)。
    • 应用可以充分利用设备的硬件资源,注重用户体验和界面设计。
  • Android 嵌入式开发
    • 目标设备通常资源有限(如低功耗 CPU、小内存、低分辨率屏幕)。
    • 需要优化系统性能,减少资源占用,确保设备稳定运行。

6. 应用场景

  • Android 应用开发
    • 面向普通消费者,开发社交、娱乐、购物、工具等类型的应用。
    • 注重用户交互、界面设计和功能创新。
  • Android 嵌入式开发
    • 面向特定行业或场景,开发智能家居、工业控制、车载娱乐、医疗设备等系统。
    • 注重设备的稳定性、实时性和定制化功能。

7. 调试与测试

  • Android 应用开发
    • 使用 Android Studio 的调试工具(如 Logcat、Debugger)进行调试。
    • 使用模拟器或真机进行测试。
  • Android 嵌入式开发
    • 可能需要使用硬件调试工具(如 JTAG、示波器)进行调试。
    • 需要在真实硬件设备上进行测试,模拟器可能无法完全模拟硬件行为。

8. 发布与维护

  • Android 应用开发
    • 通过 Google Play 或其他应用商店发布应用。
    • 通过 OTA(Over-The-Air)更新应用。
  • Android 嵌入式开发
    • 通过定制化的固件更新机制发布系统。
    • 可能需要通过物理方式(如 USB、SD 卡)更新设备固件。

总结

方面Android 应用开发Android 嵌入式开发
目标设备智能手机、平板电脑智能电视、智能手表、车载系统、工业设备
开发工具Android StudioAndroid Things、嵌入式工具链
技术栈Java/Kotlin、Android SDKC/C++、Android NDK、硬件接口
系统定制基于标准 Android 系统定制 Android 系统、内核修改
性能与资源高硬件配置,注重用户体验资源有限,注重稳定性和实时性
应用场景社交、娱乐、购物、工具智能家居、工业控制、车载娱乐
调试与测试Android Studio 调试工具、模拟器硬件调试工具、真实设备测试
发布与维护Google Play、OTA 更新定制固件更新、物理方式更新

通过理解这些区别,开发者可以更好地选择适合自己技能和兴趣的领域,并针对性地提升相关技术能力。

4.Android车载应用开发需要注意什么?

Android 车载应用开发 是一种特殊的嵌入式开发领域,需要考虑到车载环境的独特性,如安全性、实时性、硬件限制和用户体验等。以下是开发 Android 车载应用时需要注意的关键点:


1. 安全性

  • 驾驶安全
    • 应用设计应尽量减少对驾驶员注意力的分散,避免复杂的交互操作。
    • 使用语音控制、手势操作等替代触摸操作。
  • 数据安全
    • 确保用户数据(如位置、联系人)的安全存储和传输。
    • 使用 HTTPS 加密网络通信,避免敏感信息泄露。
  • 系统安全
    • 遵循 Android 的安全机制,如权限管理、沙箱机制。
    • 避免应用对系统资源的滥用,防止恶意攻击。

2. 硬件限制

  • 资源优化
    • 车载设备的硬件资源(如 CPU、内存、存储)通常有限,需要优化应用性能。
    • 减少内存占用,避免内存泄漏。
  • 硬件适配
    • 适配不同的车载硬件(如屏幕分辨率、输入设备、传感器)。
    • 处理硬件接口(如 CAN 总线、GPS、蓝牙)。

3. 用户体验

  • 简洁直观
    • 界面设计应简洁直观,减少复杂操作。
    • 使用大字体、高对比度和易识别的图标。
  • 语音交互
    • 集成语音助手(如 Google Assistant),支持语音命令和语音反馈。
  • 快速响应
    • 确保应用启动和操作响应迅速,避免卡顿和延迟。

4. 实时性

  • 实时数据处理
    • 处理实时数据(如 GPS 位置、车速、传感器数据),确保数据准确性和及时性。
  • 后台任务
    • 使用 WorkManagerJobScheduler 管理后台任务,避免影响系统性能。

5. 网络与连接

  • 网络稳定性
    • 处理不稳定的网络环境(如隧道、偏远地区),提供离线功能或缓存数据。
  • 蓝牙与 Wi-Fi
    • 支持蓝牙和 Wi-Fi 连接,实现与手机、其他车载设备的交互。
  • OTA 更新
    • 支持 OTA(Over-The-Air)更新,确保应用和系统及时更新。

6. 法规与标准

  • 行业标准
    • 遵循车载应用开发的相关标准(如 Android Automotive OS 规范)。
  • 法律法规
    • 遵守当地的法律法规(如隐私保护、驾驶安全规定)。

7. 测试与调试

  • 真机测试
    • 在真实车载设备上进行测试,确保应用在不同硬件和环境下正常运行。
  • 模拟器测试
    • 使用 Android Automotive OS 模拟器进行初步测试。
  • 性能测试
    • 测试应用的启动速度、内存占用、CPU 使用率等性能指标。

8. 系统集成

  • Android Automotive OS
    • 如果开发基于 Android Automotive OS 的应用,需要熟悉其特有的 API 和组件。
  • 车辆接口
    • 使用 Vehicle HALCar API 访问车辆数据(如车速、油耗、故障信息)。

9. 多任务处理

  • 分屏模式
    • 支持分屏模式,允许用户同时使用多个应用。
  • 后台运行
    • 确保应用在后台运行时不会影响系统性能和其他应用。

10. 用户隐私

  • 权限管理
    • 明确应用所需的权限,并在运行时请求用户授权。
  • 数据收集
    • 明确告知用户数据收集的目的和范围,并提供数据删除选项。

总结

开发 Android 车载应用需要综合考虑安全性、硬件限制、用户体验、实时性、网络连接、法规标准、测试调试、系统集成、多任务处理和用户隐私等多个方面。通过遵循最佳实践和行业标准,可以开发出高质量的车载应用,提升驾驶体验和安全性。

5.Android手表应用开发有什么特点?

Android 手表应用开发(基于 Wear OS)与传统的 Android 手机应用开发有许多不同之处,主要因为智能手表的硬件特性、使用场景和用户交互方式与手机有显著差异。以下是 Android 手表应用开发的主要特点:


1. 硬件限制

  • 屏幕尺寸小
    • 智能手表的屏幕通常较小(1.2 英寸到 1.8 英寸),需要优化界面设计,确保内容清晰易读。
  • 资源有限
    • 手表的 CPU、内存和存储资源有限,需要优化应用性能,减少资源占用。
  • 电池续航
    • 电池容量小,需要优化功耗,避免频繁唤醒和后台任务。

2. 用户交互

  • 触摸操作
    • 屏幕小,触摸区域有限,设计时应尽量减少复杂操作。
  • 手势操作
    • 支持手势操作(如滑动、点击、长按),提升交互效率。
  • 语音交互
    • 集成语音助手(如 Google Assistant),支持语音命令和语音反馈。
  • 物理按钮
    • 部分手表配有物理按钮,可以用于快捷操作。

3. 界面设计

  • 简洁直观
    • 界面设计应简洁直观,减少复杂布局和冗余信息。
  • 大字体和高对比度
    • 使用大字体和高对比度颜色,确保内容在小屏幕上清晰可见。
  • 圆形屏幕适配
    • 许多智能手表采用圆形屏幕,需要特别适配布局和控件。
  • 可穿戴 UI 库
    • 使用 Wear OS UI 库(如 WearableRecyclerViewCircularProgressLayout)优化界面设计。

4. 功能特性

  • 表盘开发
    • 支持开发自定义表盘(Watch Face),提供个性化显示内容。
  • 通知交互
    • 支持处理通知,提供快速回复、语音输入等功能。
  • 健康与运动
    • 集成健康与运动功能(如心率监测、步数统计),使用 Google Fit API
  • 离线功能
    • 手表可能不总是连接手机或网络,需要提供离线功能或缓存数据。

5. 数据同步

  • 与手机同步
    • 使用 Data Layer API 实现手表与手机之间的数据同步。
  • 云端同步
    • 使用 Google Cloud 或其他云服务实现数据备份和同步。

6. 性能优化

  • 后台任务
    • 使用 WorkManagerJobScheduler 管理后台任务,避免影响电池续航。
  • 内存优化
    • 减少内存占用,避免内存泄漏。
  • 启动速度
    • 优化应用启动速度,确保快速响应用户操作。

7. 测试与调试

  • 模拟器测试
    • 使用 Android Studio 的 Wear OS 模拟器进行初步测试。
  • 真机测试
    • 在真实智能手表上进行测试,确保应用在不同硬件和环境下正常运行。
  • 性能测试
    • 测试应用的启动速度、内存占用、CPU 使用率等性能指标。

8. 发布与分发

  • Google Play 发布
    • 通过 Google Play 发布手表应用,支持自动同步到配对的智能手表。
  • 多设备支持
    • 确保应用同时支持手机和手表,提供一致的用户体验。

9. 用户隐私

  • 权限管理
    • 明确应用所需的权限,并在运行时请求用户授权。
  • 数据收集
    • 明确告知用户数据收集的目的和范围,并提供数据删除选项。

总结

Android 手表应用开发需要特别关注硬件限制、用户交互、界面设计、功能特性、数据同步、性能优化、测试调试、发布分发和用户隐私等方面。通过遵循 Wear OS 的最佳实践和设计指南,可以开发出高效、易用且符合用户需求的手表应用。

答案来自 DeepSeek | 深度求索,仅供参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2268208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《机器学习》线性回归模型实现

目录 一、一元线性回归模型 1、数据 2、代码 3、结果 二、多元线性回归模型 1、数据 2、代码 3、结果 一、一元线性回归模型 1、数据 2、代码 # 导入所需的库 import pandas as pd # 用于数据处理和分析 from matplotlib import pyplot as plt # 用于数据可视化 fr…

基于DIODES AP43781+PI3USB31531+PI3DPX1207C的USB-C PD Video 之全功能显示器连接端口方案

随着USB-C连接器和PD功能的出现&#xff0c;新一代USB-C PD PC显示器可以用作个人和专业PC工作环境的电源和数据集线器。 虽然USB-C PD显示器是唯一插入墙壁插座的交流电源输入设备&#xff0c;但它可以作为数据UFP&#xff08;上游接口&#xff09;连接到连接到TCD&#xff0…

QWidget应用封装为qt插件,供其他qt应用调用

在之前的文章中,有介绍通过QProcess的方式启动QWidget应用,然后将其窗口嵌入到其他的qt应用中,作为子窗口使用.这篇文章主要介绍qt插件的方式将QWidget应用的窗口封装为插件,然后作为其他Qt应用中的子窗口使用. 插件优点: 与主程序为同一个进程,免去了进程间繁琐的通信方式,…

关于 覆铜与导线之间间距较小需要增加间距 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/144776995 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

ArcGIS教程(009):ArcGIS制作校园3D展示图

文章目录 数据下载校园3D展示图制作创建要素类矢量化【楼】要素矢量化【绿地】矢量化【范围】矢量化处理打开ArcScene添加动画数据下载 https://download.csdn.net/download/WwLK123/90189025校园3D展示图制作 创建要素类 添加底图: 新建【文件地理数据库】,并修改名称为【…

权限注解+AOP切面+额外工具(UUID生成id,JWT,Servlet客户端,字符串String工具类,Redis序列化,ip工具类)

权限功能和注解的关系 ①、定义三个注解 //角色认证&#xff0c;必须具有指定角色标识才能进入该方法 Retention(RetentionPolicy.RUNTIME) Target({ElementType.METHOD,ElementType.TYPE}) public interface RequiresRoles{//需要校验的角色标识String[] value() default {}…

RGB、HSV颜色模型及MATLAB互换应用实例

一、前言 RGB和HSV模型是数字图像处理中颜色空间中的两种重要表示方式&#xff0c;RGB和HSV都是描述颜色的数学模型&#xff0c;可以用于表示和处理图像中的颜色信息。 RGB模型是一种基于光的颜色模型&#xff0c;由红&#xff08;Red&#xff09;、绿&#xff08;Green&#x…

MySQL基础-常见的增删改查操作语句总结

1.数据库操作 查看所有数据库 show databases;创建数据库 create database db_stu; --如果数据库已经存在就不创建 create database if not exists db_stu; --添加默认字符集 create database db_stu default charset utf8mb4;删除数据库 drop database db_stu; --如果存在…

【运维】部署MKDocs

部署MKDocs obsidian 记录笔记&#xff0c;通过 mkdocs 私有化部署。 1 使用MKDocs创建笔记 创建仓库&#xff0c;安装 Material for MkDocs 和 mkdocs-minify-plugin mkdir tmp cd tmp git initpip install mkdocs-material pip install mkdocs-minify-pluginmkdocs new .2 …

黑马Java面试教程_P2_MySQL

系列博客目录 文章目录 系列博客目录前言1. 优化1.1 MySQL中&#xff0c;如何定位慢查询&#xff1f;面试文稿 1.2 面试官接着问&#xff1a;那这个SQL语句执行很慢,如何分析 ( 如何优化&#xff09;呢?面试文稿 1.3 了解过索引吗?(什么是索引)1.4 继续问 索引的底层数据结构…

【优选算法】盛最多水的容器(双指针算法)

11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 【1.题目】 【2.算法原理】 【3.代码编写】 优化之后就遍历了一遍数组&#xff0c;时间复杂度变为O(N)&#xff0c;就使用了几个变量&#xff0c;空间复杂度为O(1)。 class Solution { public:int maxArea(vecto…

安装torch-geometric库

目录 1.查看 torch 和 CUDA 版本 2.依次下载和 torch 和 CUDA 对应版本的四个依赖库pyg-lib、torch-scatter、torch-sparse、torch-cluster以及torch-spline-conv 3.下载并安装torch-geometric库 1.查看 torch 和 CUDA 版本 查看CUDA版本 nvcc -V 查看pytorch版本 pip s…

王佩丰24节Excel学习笔记——第十八讲:Lookup和数组

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章技巧】 地址栏公式可以使用 F9 查看&#xff0c;取消请按Esc键&#xff0c;或者公式前的红色叉&#xff1b;使用数组时一定要注意使用绝对引用&#xff0c;方便下拉&#xff1b;使用数组时一…

【hackmyvm】hacked靶机wp

tags: HMVrootkitDiamorphine Type: wp 1. 基本信息^toc 文章目录 1. 基本信息^toc2. 信息收集2.1. 端口扫描2.2. 目录扫描2.3. 获取参数 3. 提权 靶机链接 https://hackmyvm.eu/machines/machine.php?vmHacked 作者 sml 难度 ⭐️⭐️⭐️⭐️️ 2. 信息收集 2.1. 端口扫描…

【超级详细】七牛云配置阿里云域名详细过程记录

0. 准备一个阿里云域名&#xff0c;记得要备案&#xff01;&#xff01;&#xff01;&#xff01; 1. 创建七牛云存储空间 首先&#xff0c;登录七牛云控制台&#xff0c;创建一个新的存储空间&#xff08;Bucket&#xff09;。这个存储空间将用于存放你的文件&#xff0c;并…

【JDBC】转账案例

回顾 使用工具类查询表 需求&#xff1a; 查询student表的所有数据&#xff0c;把数据封装到一个集合中 数据准备 #创建表 CREATE TABLE student( sid INT, name VARCHAR(100), age INT, sex VARCHAR(100) ) #插入数据 INSERT INTO student VALUES(1,张三,18,女),(2…

HTML——14. 超链接四种状态

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>超链接</title></head><body><a href"https://ai.m.taobao.com" target"_blank">淘宝</a><br /><a href"…

微信V3支付报错 平台证书及平台证书序列号

1.平台证书及平台证书序列号设置错误报错&#xff1a; 错误1&#xff1a; Verify the response’s data with: timestamp1735184656, noncea5806b8cabc923299f8db1a174f3a4d0, signatureFZ5FgD/jtt4J99GKssKWKA/0buBSOAbWcu6H52l2UqqaJKvrsNxvodB569ZFz5G3fbassOQcSh5BFq6hvE…

MusicFree - 免费播放全网歌曲!无广告开源网络音乐聚合播放器 (安卓电脑版)

大家平常听歌可能都会在 QQ 音乐、网易云音乐、酷狗、喜马拉雅等不同平台来回切换&#xff0c;体验其实很烦。曾经推荐过不少“聚合”音乐应用&#xff0c;比如 洛雪音乐助手、Listen1 等等。 最近又有一个新选择了&#xff01;MusicFree 是一款免费开源清爽无广告的音乐播放器…

C++的第一个程序

前言 在学习c之前&#xff0c;你一定还记得c语言的第一个程序 当时刚刚开始进行语言学习 因此告诉到&#xff0c;仅仅需要记住就可以 #include <stdio.h>int main(){printf("Hello World");return 0; }而对于c中的第一个程序&#xff0c;似乎有所变化 C的…