标签: flutter-plugin

Flutter 中热重载原生代码变更(插件开发)

我正在为 Android 上的 Flutter 编写一个使用本机代码的插件。据我了解,查看更改生效的唯一方法是完全重新启动应用程序。还有其他方法可以做到这一点吗?像 Flutters 热重启之类的东西?每次启动应用程序大约需要一分钟。

flutter flutter-plugin

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

如何向 Flutter 插件添加国际化

我做了一个 Flutter 插件,我需要添加国际化。我已经按照本教程进行操作,就像我通常对 Flutter 应用程序所做的那样:Internationalization in Flutter 1.22+

但是对于 Flutter 插件,没有 MaterialApp,所以我无法添加这个:

MaterialApp(
   localizationsDelegates: Translations.localizationsDelegates,
   supportedLocales: Translations.supportedLocales
)
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法将国际化添加到我的 Flutter 插件中,以便我可以在我的插件中使用它?

Translations.of(context).title;
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-plugin flutter-intl

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

使用 .aar 模块的 Flutter 插件在示例应用程序中构建和运行良好,但无法在其他应用程序中构建

我编写了一个 Flutter 插件来使用需要包含一些 .aar 模块的 SDK。它在插件的示例应用程序中构建并完美运行,但是当我在不同的应用程序中导入插件并尝试构建它时,构建立即失败并显示一条消息,指出在插入。这是没有意义的,因为模块肯定存在 - 如果模块不存在,则在示例应用程序中使用 SDK 的平台通道将失败。

为什么示例应用程序可以毫无问题地构建和运行,而不同的应用程序却不能?我唯一能想到的是我从 pubspec 中的路径导入插件,但在我看来这不太可能是罪魁祸首。

任何建议或帮助在这里将不胜感激。蒂亚!

flutter flutter-plugin flutter-platform-channel

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

从 Flutter 项目运行 android 项目,具有不健全的空安全

在完善的空安全到来后,仍然有依赖项还没有升级到空安全的项目,仍然可以--no-sound-null-safety通过 Flutter 命令使用flag运行。

但是现在我正在尝试通过android项目运行该应用程序。我尝试这样做的原因是为了让我调试原生 Flutter 插件。我android在 Android Studio 上打开文件夹,当我尝试运行该项目时,收到错误消息:

Error: Cannot run with sound null safety, because the following dependencies don't support null safety:
Run Code Online (Sandbox Code Playgroud)

如果我正在运行 Flutter 命令,我提到的标志将在这里工作。但是在android通过 Android Studio运行项目时如何设置这个标志?

flutter flutter-dependencies flutter-plugin dart-null-safety

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

如何在flutter中的pdf中添加网络图像?

大家好,我正在尝试在 pdf 中添加网络图像。pdf 是使用打印创建的:^5.5.0插件。我收到运行时错误。请帮忙,先谢谢了。

预览页面.dart

    
      final pdf = pw.Document();
    
      MemoryImage images = [];
    
      Future _getImage() async {
        for (var i = 0; i < 2; i++) {
          var response = await http
              .get(Uri.parse("image url here"));
          final image =
              pw.RawImage(bytes: response.bodyBytes, width: 50, height: 100);
          images.add(image);
        }
        _writeOnPdf();
      }
  
Run Code Online (Sandbox Code Playgroud)

printing pdf pdf-generation flutter flutter-plugin

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

NFC读/写颤振

我想尝试一下 flutter,但到目前为止我只找到了 NFC 阅读器插件。我还需要另外两件事。

  • 对 NFC 标签当前意图做出反应,然后可能使用 NFC 插件来读取它

  • 写入 NFC 标签,可能使用平台通道

我只需要在我离开普通的 android 之前确认它完全可行,并且需要朝正确的方向踢。

android nfc flutter flutter-plugin

3
推荐指数
1
解决办法
9749
查看次数

命名 Flutter 插件 EventChannel

我创建了一个新插件

flutter create --template plugin alfalfa
Run Code Online (Sandbox Code Playgroud)

其生成lib/alfalfa.dart包含

import 'dart:async';

import 'package:flutter/services.dart';

class Alfalfa {
  static const MethodChannel _channel =
      const MethodChannel('alfalfa');

  //...
}
Run Code Online (Sandbox Code Playgroud)

我想添加一个EventChannel这样Java和Objective-C代码可以回调到Dart代码。我不知道该叫什么名字EventChannel

final EventChannel _eventChannel =
    const EventChannel("com.rollingfields.alfalfa/events");
Run Code Online (Sandbox Code Playgroud)

或者

final EventChannel _eventChannel =
    const EventChannel("alfalfa/events");
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?有约定吗?

如果更好的选择EventChannel是包含反向域的名称,我应该将生成的名称重命名MethodChannel为吗com.rollingfields.alfalfa

flutter flutter-plugin flutter-platform-channel

3
推荐指数
1
解决办法
871
查看次数

为什么 ApplicationsDocumentsDirectory 为单元测试返回 null?

我正在使用颤振“path_provider”插件。我需要一个 SQLite 操作。我的错误测试类没有找到“getApplicationDocumentsDirectory”并返回 null。该应用程序为模拟器/真实设备运行,任何工作都没有问题。

正在寻找提供程序存储库和测试文件夹。我已经厌倦了测试类示例,但错误仍然存​​在。

  const MethodChannel channel =
      MethodChannel('plugins.flutter.io/path_provider');

  channel.setMockMethodCallHandler((MethodCall methodCall) async {
    log.add(methodCall);
    return response;
  });

  test('user save data', () async {
    var response = null;
//FIXME : directory return null
    final Directory directory = await getApplicationDocumentsDirectory();
    final model = UserWordInformation();
    model.word = word;
    model.know = 1;
    final result = await dbHelper.insert(model.toMap());
    expect(result, 1);
  });
Run Code Online (Sandbox Code Playgroud)

我希望设备的返回路径文件夹。一些路径:“/Users/vb/Library/Developer/CoreSimulator/Devices/C5B3C94C-C774-4D0E-A19C-97AAF11BD9E3/data/Containers/Data/Application/0508712B-A138-483A 921E-B5EAE6DF149F/文件”

flutter flutter-plugin

3
推荐指数
2
解决办法
1405
查看次数

静态谷歌地图(禁用所有手势)

我想创建一个 Google 地图小部件,它不会处理任何点击、手势 - 只是一个静态地图。我知道我需要以某种方式进行设置gestureRecognizers,但无法弄清楚哪个类将锁定所有手势。我应该用什么来代替ScaleGestureRecognizer()

设置gestureRecognizersnull没有帮助。

当此集合为空或 null 时,映射将仅处理未由任何其他手势识别器声明的手势的指针事件。

import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

class StaticMap extends StatelessWidget {
  final CameraPosition cameraPosition;
  StaticMap(this.cameraPosition);

  @override
  Widget build(BuildContext context) {
    return GoogleMap(
      mapType: MapType.normal,
      initialCameraPosition: cameraPosition,
      gestureRecognizers: {
        Factory<OneSequenceGestureRecognizer>(() => ScaleGestureRecognizer()),
      },
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout flutter-plugin

3
推荐指数
1
解决办法
4842
查看次数

在flutter中使用rate_my_app包?

谁能告诉我,你是如何在flutter应用程序中使用rate_my_app https://pub.dev/packages/rate_my_app包来增加用户评论的?

示例代码会非常有用吗?

flutter flutter-plugin

3
推荐指数
1
解决办法
9228
查看次数