Flutter’da Verileri Başka Bir Uygulamaya Paylaşma

Bu yazımda flutter uygulamasından başka uygulamaya nasıl veri paylaşımı yapılır onu göstereceğim. Bir uygulamadan başka bir uygulamaya veri paylaşımı, uygulamadaki en önemli özelliklerden biridir. Flutter’da paylaşım özelliğini uygulamak için share paketini kullanacağım.

share

Proje Oluşturma

İlk olarak, IDE kullanarak bir flutter projesi oluşturun. Başka editör kullanıyorsanız, flutter proje oluşturma komutunu çalıştırın. Mevcut bir projeye eklemek istiyorsanız bu adımı atlayın.

flutter create projectName

Share Paketini Ekleme

Projenizin pubspec.yaml dosyanızı açın, ardından Dependencies bölümünüzün altına share: ^2.0.4 paketini ekleyin ve ardından terminalde flutter pub get komutunu çalıştırın.

Not: Eklentinin sayfasına bakmayı unutmayın, sürümü değişmiş olabilir.

Uygulama

Mantığını görmek için basit bir örnek üzerinden ilerleyeceğim. 

Uygulamayı çalıştığınız dosyadan içeri aktarın.

import 'package:share/share.dart';

 _shareData() adlı bir metot oluşturuyoruz. 

_shareData(){
Share.share('check out my website https://onursahin.net');
}

Paylaşım yapılacak içeriğin konusu isteğe bağlıdır. Aşağıdaki örnek verilerin e-posta üzerinden paylaşılırken kullanılır.

_shareData(){
Share.share('check out my website https://onursahin.net', subject: 'Flutter Share');
}

Bir veya birden çok dosyayı paylaşmak için, birden çok dosyayı kabul eden shareFiles metodu kullanılır. Metin ve konuya ihtiyacınız varsa ekleyebilirsiniz. Metin ve Konu tamamen isteğe bağlıdır. Örneğin,

_shareData(){
Share.shareFiles(['${directory.path}/img.jpg'], text: 'Güzel resim!');
Share.shareFiles(['${directory.path}/img1.jpg', '${directory.path}/img2.jpg']);
}

Paylaşma özelliğini kullanabilmek için _shareData() metodunu çağırmayı unutmayın.

onPressed: () {
          _shareData();
        },

Örnek Kod

import 'package:flutter/material.dart';
import 'package:share/share.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  _shareData() {
    Share.share('check out my website https://onursahin.net');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Flutter Share Data"),
      ),
      body: Center(
          child: MaterialButton(
        color: Colors.orange,
        onPressed: () {
          _shareData();
        },
        child: Text(
          "Paylaş",
        ),
      )),
    );
  }
}

Örnek Çıktı

flutter share data


								

Yorum Yap