Flutter를 사용하여 공유 기능을 만드는 응용 프로그램
공유 기능을 사용하기 위해 share라는 프로그램 라이브러리를 사용합니다.
pubspec.yaml에 share 추가
# コマンドを実行する
$ flutter pub add share
or# pubspec.yamlに直接書き込む
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
# 追加
share: ^2.0.4
AppBar에서 공유 아이콘 공유
Share.share()
에 공유된 텍스트입니다.Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Share Sample'),
actions: [
// シェアボタン
IconButton(
icon: Icon(Icons.share),
// シェアボタンをクリックしたときに呼ばれる処理
onPressed: () => _share(),
),
],
),
);
}
void _share() => Share.share('共有するテキスト');
공유 아이콘AppBar
을 클릭하면 공유된 백플레인이 표시됩니다.r(Hot reload)
또는 R(Hot restart)
다음 오류가 발생하면 적용flutter run
을 중지하면 오류가 사라집니다.E/flutter (28335): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: MissingPluginException(No implementation found for method share on channel plugins.flutter.io/share)
E/flutter (28335): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:7)
E/flutter (28335): <asynchronous suspension>
또한 공유된 텍스트가 비어 있으면 오류가 발생합니다.'package:share/share.dart': Failed assertion: line 40 pos 12: 'text.isNotEmpty': is not true.
전역 코드
import 'package:flutter/material.dart';
import 'package:share/share.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
title: 'Share Sample',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Share Sample'),
actions: [
IconButton(
icon: Icon(Icons.share),
onPressed: () => _share(),
),
],
),
);
}
void _share() => Share.share('');
}
Reference
이 문제에 관하여(Flutter를 사용하여 공유 기능을 만드는 응용 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yass97/articles/e776d99d1dfded텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)