13

Share Data outside the application in Flutter.

 3 years ago
source link: https://www.coderzheaven.com/2019/11/11/share-data-outside-the-application-in-flutter/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Share Data outside the application in Flutter.

This article will show you how to share data from our application to another, just like when you hit share on an image inside your gallery. The system will ask you to select an application to share to.

Share Data Flutter

Share Data Flutter


Watch Video Tutorial


So we are going to achieve this in Flutter with the help of a plugin.
We need to add the plugin to the pubspec.yaml file first.

Add Dependencies

Add this entry below the Dependencies in pubspec.yaml file

dependencies:
...
share: ^0.6.3+1
...

Now to Invoke the share action with some data we have to call like this…

final RenderBox box = context.findRenderObject();
Share.share(text,
subject: subject,
sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);

Wraps the platform’s native share dialog. Can share a text and/or a URL.
It uses the `ACTION_SEND` Intent on Android and `UIActivityViewController`
on iOS.

The optional [subject] parameter can be used to populate a subject if the
user chooses to send an email.

The optional [sharePositionOrigin] parameter can be used to specify a global
origin rect for the share sheet to popover from on iPads. It has no effect
on non-iPads.


Complete Example

A Complete example will look like this

import 'package:flutter/material.dart';
import 'package:share/share.dart';
class ShareDemo extends StatefulWidget {
@override
ShareDemoState createState() => ShareDemoState();
}
class ShareDemoState extends State<ShareDemo> {
//
String text = '';
String subject = '';
share(BuildContext context) {
final RenderBox box = context.findRenderObject();
Share.share(text,
subject: subject,
sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Share Demo',
home: Scaffold(
appBar: AppBar(
title: const Text('Share Demo'),
),
body: Container(
padding: EdgeInsets.all(25.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextField(
decoration: const InputDecoration(
labelText: 'Text',
hintText: 'Enter some text or link to share',
),
maxLines: 2,
onChanged: (String txt) {
setState(() {
text = txt;
});
},
),
TextField(
decoration: const InputDecoration(
labelText: 'Text',
hintText: 'Enter some subject to share',
),
maxLines: 2,
onChanged: (String txt) {
setState(() {
subject = txt;
});
},
),
SizedBox(
height: 20,
),
Builder(
builder: (BuildContext context) {
return RaisedButton(
child: const Text('Share'),
onPressed: text.isEmpty
? null
: () {
share(context);
},
);
},
),
],
),
),
),
);
}
}

That’s it.

  • Videos
  • Youtube Downloader
  • Androids
  • Complete
  • Email
  • Video Tutorials

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK