小编Hem*_*Odd的帖子

Flutter 项目:缺少 MainActivity.java

我正在尝试在 Flutter 项目中创建一个平台通道来访问特定于 Android 的 java 代码。我正在 Android Studio 中创建一个新的 Flutter 应用程序项目,并遵循教程,其中提到:

1- 导航到 Flutter 应用所在的目录,然后选择其中的 android 文件夹。单击确定。

2- 打开位于项目视图中 java 文件夹中的 MainActivity.java 文件。

但是,该项目仅包含 MainActivity.kt 而不是 Java:

在此处输入图片说明

我尝试使用上下文菜单>新建>活动在java文件夹中手动创建一个新活动,但它不起作用。


编辑:

对此的最佳解决方案(如果您可以创建新项目)是在设置项目时取消选中“Include Kotlin support for Android code”。这会自动创建 MainActivity.java。Objective-C 和 Swift 也是如此。如果您想使用 Objective-C,请取消选中“Include Swift support for iOS code”

在此处输入图片说明

java android android-studio flutter flutter-platform-channel

10
推荐指数
4
解决办法
1万
查看次数

核心数据错误:在没有 NSManagedObjectContext 的情况下无法获取

XMPPFramework在 Swift 中使用库,它使用 Core Data 提供消息历史存储。我正在尝试使用以下函数从存储中请求存档消息:

func getChatHistory() {

    guard let context = xmppMessageStorage.mainThreadManagedObjectContext else {return}
    var entityDescription = NSEntityDescription.entity(forEntityName: "XMPPMessageArchiving_Message_CoreDataObject", in: context)
    var request = NSFetchRequest<NSFetchRequestResult>(entityName: "XMPPMessageArchiving_Message_CoreDataObject")
    request.entity = entityDescription
    do {
        var messages = try request.execute()
        print("Archived Messages: \n\(messages)")
    } catch let error {
        print("Error fetching chat history: \(error)")
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,当我执行该函数时,我收到以下错误:

错误域=NSCocoaErrorDomain 代码=134060 “发生核心数据错误。” UserInfo={message=不能在范围内没有 NSManagedObjectContext 的情况下获取}

我无法理解为什么会发生这种情况,因为我在代码中正确设置了上下文。如果有人能帮助我理解这里出了什么问题,我将不胜感激。

core-data ios xmppframework swift

2
推荐指数
1
解决办法
596
查看次数