移动开发
为什么Table的 'searchable' 属性不起作用?
我有一个文本输入框和一个表格。我想为我的表格设置筛选,使其显示包含搜索字符串的行数据。我为表格添加了“searchable”属性,但似乎不起作用。我不明白为什么? 这是我的代码: import SwiftUI import Foundation //identify structure for array and table struct myItems: Identifiable { let id = UUID() let myItemStr: String // A helper property t
我在switch表达式中覆盖了一个密封类的所有子类,但Java编译器仍然说该switch没有穷尽。为什么?
假设结构是: sealed class Shape permits Circle, Quadrangle {} sealed class Quadrangle extends Shape permits Diamond, Rectangle { } final class Rectangle extends Quadrangle {} final class Diamond extends Quadrangle {} final class Circle extends Shape {} 然后当我遇到类似
无法通过UUID找到BLE服务(代码中的UUID是正确的)
我最初用Python做这个BLE项目,但在Android权限方面遇到了问题,于是尝试用原生Kotlin编写一个Android应用(说实话……这种感觉)。它的核心是运行一个线程,重复按ID轮询某个特定的特征,并通过UDP发送数据。 到目前为止,它是在查找并连接设备: val device = bluetoothAdapter.getRemoteDevice(targetDeviceAddress) bluetoothGatt = device.connectGatt(context, false, gatt
Bundle.main.paths(forResourcesOfType:inDirectory) 在iOS上不起作用
我正在创建一个多平台的SwiftUI应用。 经过一番初期的摸索之后,我终于创建了一个文件目录并把它们加入到应用的bundle。在启动时,我尝试使用Bundle的 Bundle.main.paths(forResourcesOfType:) 函数来查找这些文件并打开它们。 Mac版本的应用能够把文件找到得很顺利。将同样的代码在iOS版本上运行时,返回的是一个空的文件路径数组。 我可以在Finder中定位到模拟器版本应用的bundle,使用“显示包内容”打开它,bundle中的文件夹清晰可见、里面的文件也写好
在iOS上第一次扫描后,为什么我的BLE外设会从应用的扫描菜单中消失?
我正在尝试开发一个使用Svelte Native的自定义应用(这是基于Svelte的跨平台开发工具)以及 NativeScript Community BLE library。这个应用旨在连接基于STM32WB的微控制器开发板。当我为Android构建时,一切都工作得很完美,应用能够稳定地连接到设备。此时的扫描器只是设计用来扫描所有可见的蓝牙设备,并不一定只筛选我们的设备。因此,会出现许多杂散设备,甚至在前几次扫描后也不会消失,即使在iOS上也是如此。 然而,当我为iOS构建应用时,STM32开发板会在第
Flutter Web Firebase(未创建名为 '[DEFAULT]' 的Firebase应用)
在将Firebase集成到Flutter Web时会出现问题。 Firebase无法在Flutter Web中初始化。 控制台错误如下所示。 下面是main与 index的源文件。 错误: FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call initializeApp() first (app/no-app). https://www.gstatic.com/firebasejs/12.9.0/fireb
当Navigator.push不在作用域内时,如何调用setState?
我有一个MainScreen,它有一个自定义的AppBar。这个AppBar包含前往SettingsScreen的按钮。我想实现如下行为:用户通过常用的返回按钮/手势离开SettingsScreen后,会返回到根据设置中所选选项刷新过的MainScreen。 我已经看到这样一种在返回时设置状态的解决方案: Navigator.push( context, MaterialPageRoute( builder: (context) => Settingsscreen()), ).then((value){s
如何在使用SpringBoot REST API的 React应用中调用名为“updatebalance”的无参数MySQL存储过程?
我在MySQL 8.0中有一个存储过程,可以更新Checkbook表中的运行余额字段。我已经在SpringBoot应用程序和React前端中引用了它。出于某种原因,它并未从我的React前端执行。以下是MYSQL存储过程、SpringBoot Repository与 Controller,最后是React Service与调用例程。 我可以添加记录、删除记录、编辑记录,只是存储例程并没有从React前端被调用,好像引用不正确。 我错过了什么? MYSQL: CREATE DEFINER=`root`@`l
Flutter Mobile Scanner扫描条形码后会显示黑屏
Flutter Mobile Scanner扫描条码后显示黑屏 我在Flutter中使用 mobile_scanner 包来扫描条形码。扫描器在检测条形码方面工作正常,但 扫描后,屏幕变成黑屏,且没有正确恢复。 🔍 我想要做的事 打开一个条码扫描屏幕 扫描一个条码 使用 Navigator.pop() 返回扫描到的值 ❗ 问题 成功扫描后: 相机预览变为 黑屏 有时屏幕会卡死 返回到扫描器时,相机无法正确启动 📦 软件包 mobile_scanner: ^7.2.0 🧩 我的实现 下面是我的扫描逻辑: /
Expo EAS构建Android APK文件
我对Expo和 React Native还挺陌生的。我有一个为iOS和 Android编写的应用,想把它部署到Expo上,以便在外部手机上安装进行测试。 我是在Windows 11机器上运行构建命令。 我已经通过以下命令部署了iOS版本: eas build --platform ios --profile preview 这里出现了一个问题,提示.xcode.env文件的编码不正确。把该文件改成正确的Linux编码后就修复了错误,现在我已经能够部署到Expo并在iPhone上安装。 我正在尝试对Andr
.NET MAUI的标签栏与Android导航按钮重叠
我目前正在调试一个.NET MAUI应用,并遇到了一个问题。 我们最近从.NET 9.0升级到.NET 10.0,整体过渡大部分顺利,除了应用底部的Shell TabBar。 出于某种原因,Android的导航按钮现在与我们用于导航的标签栏重叠。 标签栏的代码在不同版本之间没有变化,那么我该如何让Android按钮的安全区恢复呢? .NET 9.0: 现在在.NET 10.0:
移动开发
|
在基于Expo的 React Native应用中,FlatList的每一项都包含一个输入字段
我有一个React Native Expo应用,在某个页面我用一个 FlatList 来展示产品列表。每个列表项都有一个输入框,虽然设计有点奇怪,但这是客户需要的。问题在于 FlatList 的回收机制,有时在页面底部的某个项的输入框上点击时,它会把焦点放到列表开头的某个项的输入框上,这种情况大多是随机发生,且只有在点击输入框时键盘尚未弹出时才会发生。这意味着用户不能点击列表底部的某个项并在其输入框中输入数量,因为焦点会跳到随机顶部项的输入框。我找到了一个修复方法,即禁用 FlatList 的回收,但这并
RealityKit动画完成回调问题
我在RealityKit应用中使用下方的函数来做一些动画,整体来说没问题。 但有一个问题;动画并不总是在给定的持续时间内完成,因此会影响在动画完成后开始的后续事情。 因为我们正在使用的这个动画没有完成回调(我找不到),所以我们采用了如下方式 DispatchQueue.main.asyncAfter(deadline: .now() + duration + 0.1) { [self] in // next animation } 我在寻找RealityKit动画的确定性完成回调。 let newTran
Xcode 26.4构建时报错:在React Native的 iOS构建中,调用consteval函数 'fmt::basic_format_string' 不是常量表达式
我在使用Xcode 26.4编译React Native iOS项目时遇到了构建错误。 环境 React Native: 0.81.x Xcode: 26.4 macOS: 26.4 错误 在构建过程中,我遇到了以下错误: call to consteval function 'fmt::basic_format_string' is not a constant expression 期望行为 该项目在iOS上应无构建错误地编译并运行。 实际行为 在上述错误的影响下,编译失败。 复现步骤 创建或打开一个
OWASP Dependency Check通过dependency-check-suppressions.xml忽略swagger-ui-5.32.0.jar中的swagger-ui-bundle.js和 swagger-ui-es-bundle.js
我正在运行一个Spring Boot Kotlin项目,需要抑制以下两个依赖: 依赖项:swagger-ui-5.32.0.jar: swagger-ui-bundle.js 包:pkg:javascript/[email protected] 依赖项:swagger-ui-5.32.0.jar: swagger-ui-es-bundle.js 包:pkg:javascript/[email protected] 我尝试创建这个dependency-check-supressions.xml文件:
在SwiftUI中,为整屏设置背景颜色的最佳实践是什么?
我需要给全屏设置背景颜色或背景图片,于是尝试了两种方式,两者都工作得很完美,但我想知道在SwiftUI中哪种方法是最佳的,或者是否还有其他给屏幕设置背景颜色的方法? struct ContentView: View { var body: some View { ZStack { Image("bg") .resizable() .scaledToFill() .ignoresSafeArea() VStack(spacing: 10) { Image(systemName: "globe") .imag
如何在actor隔离的函数中直接使用异步迭代器?
我恰好需要只消耗一个异步序列元素,所以与其用一个 for await 循环,不如调用 makeAsyncIterator,再调用 next,以明确地表示我根本没有在循环。 @MainActor // this method needs to be main actor isolated func f(seq: some AsyncSequence) async throws { var iter = seq.makeAsyncIterator() print(try awa
在Docker的 VS Code开发容器中,flutter doctor会超时
我正在VSCode中为Flutter的 Linux桌面开发设置一个Docker开发容器,目标系统是Ubuntu 26.04。Flutter和 Docker Devcontainers对我来说都是新领域。我一直在阅读在线文档,但遇到了一些问题需要帮助。 在构建开发容器时,我能看到Dart和 Flutter的版本,但运行flutter doctor时会超时。输出如下: root@0d90de6f5181:/workspaces/flutter_dev# dart --version Dart SDK vers
在Android 15/16运行动画时,LogCat中关于帧率的日志异常大量地出现
我在运行的任何带有动画的应用的LogCat中,常看到如下情况。 setRequestedFrameRate frameRate=NaN, this=android.view.View setRequestedFrameRate frameRate=NaN, this=androidx.compose.ui.platform.AndroidComposeView 在测试设备有限的情况下,似乎只在Android 15/16版本以及三星设备上出现。我们正在使用最新版的Android Studio,手机也都更新到
iOS 26的弹出视图显示错误的系统颜色,且在用户切换明暗模式时不会随之改变
正如标题所示,iOS 26的弹出窗(popovers)显示的系统颜色有误,且在用户切换明暗模式时颜色不改变。这与之前的系统(例如iOS 18)的表现形成鲜明对比,后者表现正确。我很惊讶,似乎没有人指出这一点。 为了说明问题,下面是一个极其简单的应用: class ViewController: UIViewController { @IBAction func doButton(_ sender: UIButton) { let popover = ViewController2() popover.mo