问题标签 [akavache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
caching - 在 Xamarin.forms 中与 Akavache 的持久聊天消息
我是 Xamarin 表单的新手。我正在使用 Xamarin Forms 和 Signalr 构建一个聊天应用程序,我想让聊天消息像 WhatsApp 一样持久化。我正在使用 Akavache,但我似乎没有成功。我的 ChatPage ViewModel 中有这个代码片段
现在聊天消息在系统代码中。请问我可以解决这个问题吗?
android - Xamarin Forms 启动时出现空白屏幕
我将 Xamarin Forms 用于我的移动应用程序。在我的应用程序的初始化中,我想加载我的配置。
我使用 Akavache 将其保存在缓存中。
当出现启动画面时,我在 App.xaml 的 onstart 方法中启动此方法。
它运行良好,但是当我调用 Akavache 缓存时,启动画面变成白色。我的代码运行良好,但屏幕上没有出现任何内容。
如果我请求我的 api 而不是使用缓存来获取配置,这是相同的行为。
我也尝试在我的主要活动 android 部分中移动 GetConfig 方法,但我有相同的行为。
如果我删除这个电话,一切都会很好。
您将在下面找到输出。
我认为它与 GetRenderableInternalFormatInfoEntry: Unsupported renderable internal format 37808 有关
我该如何解决?
更新
如果我在我的方法 DependencyResolver.Resolve().Initialize() 之后添加我的调用,它会起作用。
方法初始化启动 FirstContentPage。
我的主要活动标题:我不使用闪屏活动。
我的 app.xaml.cs OnStart
// UserConfigurationManager.GetAsync() 的详细信息;
sqlite - 是否可以更新 Akavache 缓存中给定键的对象?
我试图了解如何正确使用 Akavache。我有一个列表,我使用键 ObjectAKey 存储在 Akavache BLOB 缓存中。我使用 Akavache 的 GetOrFetchObject() 方法插入它。我可以通过调用 Akavache 的 GetObject() 方法(或者 GetOrFetchObject() 方法也可以)从我的 Akavache BLOB 缓存中调用 List。
我没有看到任何更新缓存中对象的方法。此外,如果我使用 InsertObject() 方法将更多 ObjectA 实例添加到现有缓存(对于键 ObjectAKey),那么它将用对象的新实例覆盖缓存中的现有对象。
是否可以更新现有缓存中的对象实例或将对象的新实例插入到特定键的相同现有缓存中?
c# - Akavache 和 collectionChanged 事件
(1) 我在使用 Akavache 时无法触发 ObservableCollection 的 CollectionChanged 事件,这是我的代码(简化)
理想情况下,当我添加/删除数据时,我想触发事件来检查集合是否为空,然后分配一个 bool 属性来判断它是否为空。
我正在像这样进行简单的添加/删除,然后调用 RefreshCache 方法使数据无效并重新创建数据,不确定这是否也是最有效的方法。
(2) 我目前没有设置 DateTime 偏移量,我需要这个吗?有人可以给我一个如何写出来的例子,文档没有明确说明这一点。
xamarin - 适用于 Xamarin 表单和许多用户实例的 Akavache
我试图弄清楚如何在同一部手机上为多个用户使用 Akavache。
我目前正在使用 BlobCache.LocalMachine,并且正在使用 GetOrFetchObject(key) 和 InsertObject(key) 获取和设置缓存数据。我注意到的是,这里的密钥只是我提供给数据的通用标识符,因此无论谁登录我的应用程序,数据都会基于相同的密钥进行刷新,而不是该用户专有的。
c# - Akavache 抛出 System.MissingMethodException:仅当 Xamarin.Forms Android 应用基于 VS2022 构建时
我有一个使用 Xamarin Forms 制作的应用程序,它使用 Akavache 来缓存数据。当我使用 VS2019 进行构建时,该应用程序在调试模式下在 iOS 和 Android 上运行良好但是当我安装 VS2022 并决定为 android 构建时,发生了错误。此错误仅在我使用 VS 2022 构建和部署应用程序后发生。项目中没有其他任何更改。
这是错误:
[AppCenterCrashes] 来自源 = AndroidEnvironment [AppCenterCrashes] System.MissingMethodException:未找到方法:System.ReadOnlySpan
1<byte> SQLitePCL.raw.sqlite3_column_blob(SQLitePCL.sqlite3_stmt,int) [AppCenterCrashes] at Akavache.Sqlite3.SqliteOperationQueue.MarshalCompletion[T] (System.Object completion, System.Func
1[TResult] 块,System.IObservable`1[T] commitResult) [0x00012] 在 D:\a\Akavache\ Akavache\src\Akavache.Sqlite3\Queues\OperationQueue.cs:488 [AppCenterCrashes] --- 从先前抛出异常的位置结束堆栈跟踪 ---