Kotlin Kullanarak ShareEngine ile Veri Transferi Yapmak

Ertug Sagman
Huawei Developers - Türkiye
3 min readMar 9, 2021

Herkese selamlar!

Bu yazıda sizinle Huawei’nin ShareEngine sisteminden bahsedeceğim ve birlikte ufak bir dosya transferi uygulaması örneği tamamlayacağız. Bu örnek uygulamayı Kotlin dili kullanarak geliştireceğiz. İlk olarak ShareEngine’in ne olduğuyla ve nasıl bir çalışma prensibi olduğuyla başlayalım. ShareEngine, Huawei’nin sunduğu cihazlar arası dosya aktarım çözümüdür. ShareEngine yakındaki cihazları keşfetmek ve bağlantıları doğrulamak için Bluetooth kullanır, ardından telefonlar, PC’ler ve diğer cihazlar arasında dosya aktarımına izin vermek için eşler arası Wi-Fi kanalları kurar. Üçüncü taraf cihaz ve ortam izin verirse 80 Mbps’yi aşabilen sabit dosya aktarım hızları sunar. Huawei ShareEngine yetenekleri paketin derinliklerinde mühürlenir ve ardından geliştiricilerin uygulamalar ve akıllı cihazlarla entegre etmeleri için basitleştirilmiş bir motor şeklinde sunulur. Bu özellikleri entegre ederek, bilgisayarlar, yazıcılar, kameralar ve diğer cihazlar dosyaları birbirleriyle kolayca paylaşabilir. Android, Linux ve Windows tabanlı uygulamalar ve cihazlar için hızlı entegrasyona izin vermek için üç SDK geliştirme paketi sunulmaktadır.

Temel Fonksiyonları

  • Huawei cihazından dosya paylaşma: Uygulamadaki Huawei Share’e erişmek için telefon sistemini kullanır.
  • Cihazlar arası dosya aktarımı: Huawei Share ile entegre cihazlarla işletim sistemlerinde dosyaları yüksek hızlarda aktarır.

Sunduğu avantajlardan bazıları:

  • Telefonlar ve bilgisayarlar arasında hızlı dosya aktarımı
  • Tek tuşla telefondan kolay baskı
  • Telefonlar, dizüstü bilgisayarlar ve harici ekranlar arasında birleşik paylaşım
  • Diğer cihazlardan kayıtların ve notların rahat bir şekilde toplanması ve telefona veya bilgisayara aktarılması
  • Telefonlardan bilgisayarlara büyük gruplar halinde fotoğraf gönderme ve yedekleme
  • Video ve fotoğraflar gibi büyük dosyaları, kameralardan ve dronelardan telefonlara ve bilgisayarlara paylaşım
  • Tek dokunuşla baskı için fotoğrafları telefonlardan yazıcılara paylaşma
  • Gösterge kameralarından telefonlara veya PC’lere video gönderme

Şimdi ShareEngine’i Huawei cihazlarında nasıl basit bir şekilde kullanabileceğimizi göreceğimiz bir örnek uygulama hazırlayalım. Öncelikle bu sistemi kullanabilmek için bazı donanımsal ve yazılımsal koşullar bulunmakta, bunlar:

  • Android Studio: sürüm 3.0.1 veya üstü.
  • Cihaz: EMUI 9.0 veya sonraki sürümünü çalıştıran ve Huawei Share’i destekleyen Huawei telefonları.

Bu şartları kontrol ettikten sonra uygulamamızı geliştirmeye başlayabiliriz.

İlk olarak uygulamamızda MainActivity içerisinde kullanıcıdan dosya erişimi iznini almamız gerekiyor. Bunun için gerekli fonksiyonları ve değişkenleri ekleyelim:

Sonrasında AndroidManifest.xml üzerinde bu isteyeceğimiz izni ve Share sistemi için FileProvider tanımlamamız ve bu FileProvider içerisinde dosya konumlarımızı eklememiz gerekiyor. Ayrıca burada tanımladığımız “authorities” değeri MainActivity içerisinde yazacağımız fonksiyonların içinde bulunan FileProvider.getUriForFile fonksiyonu içerisinde birebir kullanılmak zorunda. Bu yüzden bu değeri doğru verdiğinizden emin olun. Bunun için:

Burada <meta-data içerisinde tanımladığımız “xml/my_paths” dosyası, dosya erişimi için kullanacağımız lokasyonların bulunduğu bir xml dosyasıdır. Bu dosyayı /res klasörü altında “xml” adlı yeni bir klasör oluşturarak buraya eklemeliyiz. İçerisinde sizin kullanmanız gereken dosya adresleri farklı olabilir. Örnek olarak şu şekilde oluşturdum:

Daha sonrasında bu kısımları ekledikten sonra veri transferi işlemlerinde kullanacağımız fonksiyonlarımızı MainActivity’ye ekleyelim:

Ve bu yazdığımız fonksiyonları kullanabilmek için arayüz üzerinde birkaç ekleme yapalım:

Şimdi arayüz üzerinde tanımladığımız butonların setOnClickListener içerisinde biraz önce oluşturduğumuz fonksiyonları kullanabiliriz.

Ayrıca bu örnek uygulamada Kotlin’in viewBinding özelliğini kullandığım için, paylaştığım kod parçalarını birebir kullandıysanız alttaki kod bloklarını da eklemeniz gerekir.

Ve bütün işlem bu kadar. Şu anda basit bir şekilde dosya ve metin paylaşma imkanı sunan örnek bir uygulamaya sahipsiniz. Herhangi bir sorun çıktıysa veya önerileriniz varsa bana yazabilirsiniz. Buraya kadar okuduğunuz için teşekkür ederim. Bir sonraki yazımda görüşmek üzere!

--

--