Share Text and Files in Flutter using Share Plus Flutter

Haris Bin Nasir Avatar

·

·

With the help of the flutter share plus package, you can now enable users to effortlessly share text and files right from your Flutter apps to other applications installed on their devices. Flutter, a favorite among mobile app developers for its efficiency and smooth user experience, just got even cooler! Today, we’re diving into how to enhance your application by integrating file sharing capabilities. Whether you’re passing notes via Discord or sharing an important document, share_plus makes it all seamless.

If you prefer watching a video tutorial on flutter share plus, here is a link to that.

Getting Started with share_plus in Flutter.

Setting up share_plus dependencies

First things first, you’ll need to add the share_plus package into your project. This is the backbone for the sharing functionalities we’re about to create. Simply add it to your dependencies in the pubspec.yaml file:

dependencies:
  share_plus: ^latest_version
  image_picker: ^latest_version

Note: For sharing files from the device’s gallery, you might also want to use the image_picker package. It’s optional but quite handy:

After adding these lines, run a quick command in your terminal:

flutter pub get

This command downloads the packages and integrates them into your project.

To download dependies click on share_plus and image_picker.

Implementing text sharing using share_plus

Navigate to your main Dart file where your user interface code resides. Here’s a quick setup to test text sharing:

  1. Create a Button: Add a Material button to your UI code.
MaterialButton(
  onPressed: shareText,
  color: Colors.green,
  child: Text('Share Text'),
)
  1. Define the Share Function: The function triggered by the button press should look like this:
void shareText() async {
  var result = await Share.share('Check out my website: https://example.com');
  print('Share result: $result');
}

This function uses the Share.share method to pass the text to other apps available for sharing.

Implementing file sharing using share_plus

Sharing files is very similar to sharing texts but involves a few more steps to access the device’s filesystem.

To pick an image from the gallery:

final ImagePicker _picker = ImagePicker();
final XFile? image = await _picker.pickImage(source: ImageSource.gallery);

This snippet uses ImagePicker to select an image.

Sharing the Selected File

Once you have the file, use Share.shareXFiles:

if (image != null) {
  await Share.shareXFiles([XFile(image.path)], text: "Great picture!");
}

Here, the selected image is shared with additional text.

Get Source Code for free:

Conclusion

That’s a wrap on adding share functionality to your Flutter apps using the share_plus package. From sharing a simple text reminder to passing along important images, these tools empower users to connect and share effortlessly across apps. Whether you’re a seasoned developer or just starting, integrating such features not only enhances functionality but also enriches user engagement. Dive in and see what you can build—and share—today!

Leave a Reply

Your email address will not be published. Required fields are marked *