android-mvvm 相关问题


变量改变时变量值的显示不改变(Jetpack Compose Android Studio)

应用程序使用mvvm和jetpack compose,屏幕(View,compose)使用以下代码显示是否已获得权限: val 上下文 = LocalContext.current 通过 remem 访问 val...


来自 API 的图像在 iOS 上加载,但在 Android 上不加载(Compose 多平台)

我正在制作我的第一个撰写多平台应用程序并遇到一些问题。 通过 Kamel 和 Moko MVVM 从我的 API 获取一些图像。 在 iOS 上可以,但在 Android 上不行。当然网络权限是...


在 WPF MVVM 应用程序中使用依赖项注入处理对用户可选择文件的数据访问的正确方法是什么?

考虑以下情况: MVVM 桌面 GUI 应用程序,用户可以在其中创建/编辑“项目”。 想象一个像 Visual Studio 解决方案这样的项目:它是一个文件(当前是......


通过底部表单中的参数过滤.NET MAUI MVVM中collectionView的数据

我正在过滤一个从 ObservableCollection 获取数据的 collectionView。逻辑位于 ViewModel 类中。我从 HTTP 请求获取 ObservableCollection 的数据,之后...


EF Core 脚手架数据和属性已更改

我有一个 WPF 应用程序(MVVM Toolkit),其数据模型是使用数据库中的 EFcore 工具搭建的。一个特定类的最终模型如下所示: 公共部分B类...


如何使用CommunityToolkit.Mvvm初始化ViewModel

我们有一个带有 FreshMvvm 的 Xamarin.Forms 应用程序。现在,由于 Xamarin.Forms 从明年开始将不再获得支持,因此我正在使用 .Net Maui 重写该应用程序。对于 MVVM 模式,我正在尝试使用 CommunityToo...


如何在WPF MVVM中显示带有动态列的表格

我有一个对象列表,每个对象都包含用户定义的属性。这些属性的键和值是自由字符串,因此它们在对象之间不一定一致。无论如何,我


MVVM:ViewModel逻辑需要来自数据库的信息,但是如何等待数据?

我是 MVVM 新手,正在尝试弄清楚如何组织我的应用程序。我制作了一个简化的登录应用程序来帮助解决问题。 我将应用程序分为几层:Activity -> ViewModel -> Reposit...


如何进行多个异步网络调用并一次更新插入它们?

我有一个采用 MVVM 架构的应用程序。 DB 是唯一的事实来源。如果数据过时,我想通过从网络获取最新信息来刷新记录。 我必须制作一个单独的网络...


如何为Android Pay添加假信用卡Visa?

我正在开发一个Android应用程序,它使用android pay进行付款。在 https://codelabs.developers.google.com/codelabs/android-pay/#13 网站中。这是网站上写的


在 Android 14 中启用输入法时出错 - ANDROID

在 Android 中,启用输入之前工作正常,但当我在 Android 14(sdk 34)中测试时,出现以下异常。 致命异常:java.lang.SecurityException:设置键:<


Android Studio:导入库的奇怪问题

我正在尝试使用 Android Studio (gradle 8) 和公共 github 库:AndroidUSBCamera 创建一个 Android 应用程序。 我不认为我面临与库相关的问题,而是依赖/gradle/android


Android Studio 中选择一行代码的快捷方式

android studio中有选择一行代码的捷径吗?


.NET MAUI:自定义Shell TitleView并绑定到当前页面标题

我想用我自己的自定义布局替换默认的 Shell 标头,如下所示: 我想用我自己的自定义布局替换默认的 Shell 标头,如下所示: <?xml version="1.0" encoding="UTF-8" ?> <Shell x:Class="MyNamespace.App.AppShell" xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:MyNamespace.App" xmlns:pages="clr-namespace:MyNamespace.App.Pages" BindingContext="{x:Static local:MainView.Instance}" Shell.FlyoutBehavior="{Binding ShellFlyoutType}" x:Name="shellMain"> <Shell.TitleView> <Grid ColumnDefinitions="*,200"> <Label BindingContext="{x:Reference shellMain}" Text="{Binding Path=CurrentPage.Title, Mode=OneWay}" FontSize="Large" TextColor="White" /> <ActivityIndicator IsRunning="{Binding IsBusy}" Color="Orange" Grid.Column="1" HorizontalOptions="End" /> </Grid> </Shell.TitleView> <ShellContent Title=" Login" ContentTemplate="{DataTemplate local:MainPage}" Route="login" FlyoutItemIsVisible="False" /> <ShellContent Title="Dashboard" ContentTemplate="{DataTemplate pages:DashboardPage}" Route="dashboard" /> </Shell> 我无法绑定当前页面标题。 我的 AppShell.xaml Shell 声明如下 <Shell ... x:Name="shellMain"> 作为替代方案,您可以在 OnNaviged 方法中设置 titleview : 在 AppShell.xaml 中,定义标签的名称 <Shell.TitleView> <Grid ColumnDefinitions="*,200"> <Label BindingContext="{x:Reference shellMain}" x:Name="mylabel" FontSize="Large" TextColor="White" /> <ActivityIndicator IsRunning="{Binding IsBusy}" Color="Orange" Grid.Column="1" HorizontalOptions="End" /> </Grid> </Shell.TitleView> 在AppShell.xaml.cs中,重写OnNaviged方法,获取当前项目 protected override void OnNavigated(ShellNavigatedEventArgs args) { base.OnNavigated(args); var shellItem = Shell.Current?.CurrentItem; string title = shellItem?.Title; int iterationCount = 0; while (shellItem != null && title == null) { title = shellItem.Title; shellItem = shellItem.CurrentItem; if (iterationCount > 10) break; // max nesting reached iterationCount++; } myLabel.Text = title; } 希望它对你有用。 我正在尝试同样的方法来修改 TitleView 的外观。它可以在 iOS 上运行,尽管那里还有另一个错误。但在 Android 上我遇到了同样的问题。在前进导航中,它会更新标题,但当您按后退按钮时,标题不会更新。我已经打开了一个问题并添加了一个存储库。 https://github.com/dotnet/maui/issues/12416#issuecomment-1372627514 还有其他方法可以修改TitleView的外观吗? 我使用视图模型开发了这个解决方法,主要不是为了提供 MVVM 解决方案,而是因为其他建议的答案对我不起作用。 (我怀疑 Liqun Shen 2 月 15 日针对他自己的问题的评论中的建议会起作用。但我没有注意到这一点,直到我自己修复)。 当前页面的标题保存在可由 shell 的视图模型和每个内容页面的视图模型访问的类中: public class ServiceHelper { private static ServiceHelper? _default; public static ServiceHelper Default => _default ??= new ServiceHelper(); internal string CurrentPageTitle { get; set; } = string.Empty; } shell 中每个内容页面的视图模型提供其页面标题。为了促进这一点,大部分工作都是由基本视图模型完成的,它们都是从该模型派生而来的: public abstract class ViewModelBase(string title) : ObservableObject { private ServiceHelper? _serviceHelper; public string Title { get; } = title; internal ServiceHelper ServiceHelper { get => _serviceHelper ??= ServiceHelper.Default; set => _serviceHelper = value; // For unit testing. } public virtual void OnAppearing() { ServiceHelper.CurrentPageTitle = Title; } } 每个 shell 内容页面视图模型只需要让其基础视图模型知道它的标题: public class LocationsViewModel : ViewModelBase { public LocationsViewModel() : base("Locations") { } } 每个 shell 内容页面都需要在其视图模型中触发所需的事件响应方法: public partial class LocationsPage : ContentPage { private LocationsViewModel? _viewModel; public LocationsPage() { InitializeComponent(); } private LocationsViewModel ViewModel => _viewModel ??= (LocationsViewModel)BindingContext; protected override void OnAppearing() { base.OnAppearing(); ViewModel.OnAppearing(); } } Shell 的视图模型为标题栏提供当前页面的标题: public class AppShellViewModel() : ViewModelBase(Global.ApplicationTitle) { private string _currentPageTitle = string.Empty; public string CurrentPageTitle { get => _currentPageTitle; set { _currentPageTitle = value; OnPropertyChanged(); } } public void OnNavigated() { CurrentPageTitle = ServiceHelper.CurrentPageTitle; } } Shell 需要在其视图模型中触发所需的事件响应方法: public partial class AppShell : Shell { private AppShellViewModel? _viewModel; public AppShell() { InitializeComponent(); } private AppShellViewModel ViewModel => _viewModel ??= (AppShellViewModel)BindingContext; protected override void OnNavigated(ShellNavigatedEventArgs args) { base.OnNavigated(args); ViewModel.OnNavigated(); } } 最后,Shell 的 XAML 在标题栏/导航栏上显示由 Shell 视图模型提供的当前页面的标题: <Shell.TitleView> <HorizontalStackLayout VerticalOptions="Fill"> <Image Source="falcon_svg_repo_com.png" HeightRequest="50"/> <Label x:Name="CurrentPageTitleLabel" Text="{Binding CurrentPageTitle}" FontSize="24" Margin="10,0" VerticalTextAlignment="Center"/> </HorizontalStackLayout> </Shell.TitleView>


Android 无法请求 Android 13 设备的存储权限

在我的Android项目中,我要求用户打开相机。除此之外,我还要求获得存储许可。该权限适用于 Android 版本 12 及以下版本,但适用于...


MAUI 中切换风格问题

我正在我的 MAUI 项目上使用开关。我在 Android 设备 10 和 11 上发现了样式问题,但在 Android 12 上,不存在样式问题。 以下是 Android 10 和 Android 11 的屏幕截图。 贝尔...


在 Android Studio 可组合项中使用滑块

我正在尝试使用 Android Studio 编写一个 Android 应用程序。 看来最新的 android studio 只支持 Kotlin。 我想要一个函数来生成一个滑块,该滑块的起始值介于...


如何在 Android for Cars Android Auto 中向行添加操作?

我想在 Android Auto 的汽车应用程序 Android 中显示一个列表。该列表应包含带有两个按钮的项目,用于单独的操作。 我尝试添加 addAction(),但似乎没有用...


当我尝试“将项目与 gradle 文件同步”时,会弹出警告

警告:将新的 ns schemas.android.com/repository/android/common/02 映射到旧的 ns schemas.android.com/repository/android/common/01 警告:映射新的 ns schemas.android.com/repository/android/ge...


Android Studio 未检测到移动设备

我正在运行Android Studio Flamingo版本。我的 Samsung M32 已连接用于调试应用程序,但 Android Studio 未检测到它。运行“故障排除设备”时


启动应用程序时出现 Android INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION

我是Android开发新手,这是我第一次尝试。当尝试运行 android studio 创建的模板项目时,我看到以下错误。 未能完成会话:


C# 上的 android 电报

有人有一个用 C# 编写的可以在 android 上运行的简单电报客户端示例吗? 我找到了简单的android java示例:https://github.com/androidmads/TelegramBotSample 我发现很简单...


Android Studio 由于“内部错误”而无法打开

`内部错误。请参考https://code.google.com/p/android/issues java.lang.AssertionError:无法读取/Users/arnavgupta/Library/Application Support/Google/AndroidStudio2023.1/


Buildozer 无法将 Kivy 应用程序编译到 android

我在 VirtualBox 中使用 Ubuntu Desktop 22.04.3。我正在尝试使用 Kivy 为 android 制作 AR/VR 程序,但是当我在终端中运行命令:buildozer android debug 时。我收到一个关于


maui android 应用程序在管道中构建失败,并出现错误“找不到 Android SDK 目录”

如果没有任何代码更改,Android 的管道构建将失败并出现以下错误。 /opt/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Linux/33.0.95/tools/Xamarin.Android.Tooling.targets(70...


如何反编译kotlin android apk?

我有自己用 kotlin 开发的 Android 应用程序。在我使用下面的 adb 命令从物理 Android 设备中提取我的 apk 后,我丢失了所有源代码(硬盘崩溃) - c:\> adb shell pm...


在 Gradle Bar 中找不到 SHA-1 指纹密钥的签名报告:Android Studio Hedgehog

这是我在Android Studio中的GradleBar(版本:hedgehog) 我想从 Android Studio for Firebase 获取 SHA-1 密钥指纹。 我想要在我的 gradle 栏中签名报告文件的示例 ->


自 Android 13 起无法启动任意 Activity

我构建了一个小型个人应用程序,它允许我为不同的 URL 指定不同的浏览器。在 Android 13 之前,它运行良好,但在 Android 13 之后的某个时候,它开始失败......


将android studio更新到hedgehog版本后manifest文件出现错误

我正在开发一个运行良好的 Android 应用程序,但当我将 Android Studio 更新到最新版本(即 Hedgehog 2023)时,我开始在清单文件中收到一堆错误。 明显...


自 Android Studio 4.1 起,Android 后台 Drawable 无法在按钮中工作

我发现从 Android Studio 4.1 开始,我无法通过在其 android:background 上设置颜色来更改 Button 的背景颜色,只是没有效果。并且自定义 Drawable 也无法正常工作。 我的


属性 application@label 也存在于

在我的android项目中安装新库后,出现以下错误: /android/app/src/debug/AndroidManifest.xml 错误: 属性应用@标签值=(同情心)来自(未知) ...


即使在 Appium 2 中使用 driver.close() 或 driver.quit() 与 UiAutomator2 驱动程序后,Android 应用程序也不会关闭

即使在 Appium 2 中使用 driver.close() 或 driver.quit() 与 UiAutomator2 驱动程序后,Android 应用程序也不会关闭 使用 W3C 获取 Android 所需的功能 返回新的 UiAutomator2Options()...


如何在flutter中查看android和web平台的html文件?

我正在创建一个可以在 android 和 web 平台上运行的 flutter 项目。 我在网络平台上查看 html 时遇到问题。 我使用了一个插件 webview_flutter 在 android 平台上查看 html 但是......


找不到 com.appnext.sdk:ads:2.7.1.473

为了测试 Yandex Ad SDK,我在 Android Studio 中创建了一个新项目 根据他们的文档,我将以下存储库添加到 settings.gradle 中: maven { url“https://android-sdk.is.com/”...


Android Compose 基础知识 - 项目:创建名片应用程序

在此处输入图像描述当前正在完成此练习 https://developer.android.com/codelabs/basic-android-kotlin-compose-business-card?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%


更改基于设备Android Studio的位图大小[已关闭]

在android studio中该函数的返回值 BitmapFactory.decodeResource(getResources(), R.drawable.basictiles) 根据设备大小而变化。 像素: 大小 = 1.792.000 高度、宽度=1120,400...


Flutter Android Studio 未在新项目上显示 Flutter 应用程序

我已经在我的Windows 11笔记本电脑上成功安装了ANdroid Studio和Flutter。当我启动 Android Studio 并选择“新 Flutter 应用程序”时,它向我展示了这一点。谁能告诉我为什么。以及如何...


无法构建或发布应用程序 maui,有很多错误

我的应用程序在启动时在 IOS 和 Android 上运行良好,但是当我尝试在 Android 上发布应用程序时,我收到所有这些错误: android 应用程序 .net maui 1>C:\Program Files\Microsoft Visual Studio�2\


Canvas.drawBitmap() 在 Android 9 设备上失败

我使用canvas.drawBitmap(bitmap,matrix,null)将图像(位图)渲染到自定义视图上,其中矩阵执行缩放和平移。这在 Android 模拟设备上完美运行...


以编程方式确定 Android 设备性能

我想为具有不同性能的Android设备运行不同的代码行。例如这样的事情: 如果(isHighPerformanceDevice()){ // 为高性能设备运行代码...


使SLF4J在Android中登录Logcat并在测试中登录到控制台(gradle依赖问题)

我正在 Android Studio 中使用 gradle (Kotlin DSL) 进行构建,编写一个 Android 应用程序。我的目标是使用 SLF4J 并在运行时将所有日志从应用程序和第三方库重定向到 logcat...


如何修复“无法解析:org.webrtc:google-webrtc”?

我构建了一个android webrtc应用程序,但是当将webrtc添加到android studio项目(实现'org.webrtc:google-webrtc:1.0.+')时,我收到此错误:无法解析:org.webrtc:google-网络RTC ...


在 Android Studio 中找不到错误符号

String sAux=getResources().getString(R.string.ShareText); sAux+=” ”; sAux+="https://play.google.com/store/apps/details?id="; sAux+=getPackageName(); sAux+=” ”; ...


Android Kotlin Flow 数据未从 StateFlow 和 SharedFlow 收集

在调查 Android 中的 Kotlin Flow 期间,我试图理解并(也许)将 LiveData 替换为 Flow。但我不明白如何在 StateFlow 和 Share 中收集和发送数据...


我们可以在跨平台使用android/ios sdk吗,比如react native/flutter/ionic

mapmyindia(mmi) 提供适用于 Android 和 ios 的地图 sdks 以及适用于 Web 的地图 api SDK 可以免费使用,但 API 不能免费使用 但是混合动力呢 我可以在 ionic/flut 中使用 mmi(不是 api)的 android 或 ios sdks...


Android:Facebook 登录:该应用程序没有配置 Android 密钥哈希值

我正在尝试在我的 Android 应用程序中使用 Facebook 登录: 这是部分代码: 私人无效执行FacebookLogin() { 最后一次会议。


如何在 Android Studio 3.0.1 IDE 中显示“后退”/“前进”按钮?

自从升级到Android Studio 3.0.1后,IDE顶部的工具栏中不再显示“后退/前进”按钮,这很烦人。 我知道,我可以选择“导航...


Android Studio 应用质量洞察问题

我已将 Android Studio 更新到最新版本 ElectricEel。除了应用程序质量洞察功能之外,一切都工作正常(因此我更新了 Studio :) ) 首先是我的 Firebase


在API33中的Android studio中写入外部存储

我编写了一个程序,从资产文件夹中提供一个文件并将其保存在文本文件中,我的应用程序在 Android 8 上运行,但当我安装在 Android 13 上时它不起作用,这是我的代码的一部分 最终文件


为 Google Cloud OAuth 凭证生成新的 SHA-1?

我有一个 Firebase 项目,使用位于 ~/.android/debug.keystore 的 Android 调试 SHA-1 进行身份验证。我删除了该项目,并在尝试创建 OAuth 2.0 凭证后意识到......


© www.soinside.com 2019 - 2024. All rights reserved.