Sharing Data di Windows Phone

Data sharing adalah fitur terbaru yang diperkenalkan di Windows Phone 8 yang bisa digunakan untuk berbagi data antara aplikasi. Ada dua cara untuk mengatur data sharing :

  • File sharing : Aplikasi mendaftarkan ekstensi seperti .log. Hal itu bisa mengatur banyak file dengan ekstensi terdaftar yang dibuka oleh aplikasi lain, contohnya mail attachment.
  • Protocol sharing : Aplikasi mendaftakan sebuah protocol seperti log :. Aplikasi lain bisa menggunakannya untuk mengirim data bisa seperti string/numbers.

Sharing Data di Windows Phone

Dari kedua cara diatas, mungkin kita familiar dengan user experience berikut:

  • Jika tidak ada aplikasi yang tersedia untuk membuka ekstensi baru. User akan ditanya apakah mereka ingin mencarinya di Store ?
  • Jika hanya ada satu aplikasi yang terdaftar untuk permintaan pembukaan eksternsi file, maka akan otomatis membukanya file dengan aplikasi tersebut.
  • Jika banyak aplikasi terdaftar untuk ekstensi yang sama (.mkv) maka user akan ditanya oleh sistem manakah aplikasi yang ingin digunakan untuk membuka ekstensi tersebut ?

Data Sharing

Oleh karena itu, sebagai developer kita harus mengetahui seluk beluk dari perintah ini. Karena nantinya ini sangat berguna dalam aplikasi yang dikembangkan.

File Sharing

File sharing dapat dibuat dengan menambahkan new definition kedalam file manifest yang ada pada alikasi. Caranya dengan menambahkan Extentions, seperti contoh berikut :

Di code diatas kita bisa melihat tag FileTypeAssociation, dan di indeftifikasi oleh attribut Name. Didalam tag ini juga terdapat 2 tag lagi :

  • Logo merupakan pilihan opsional dan digunakan hanya untuk mendukung tampilan icon dari tipe file. Untuk menggunakannya dibutuhkan beberapa gambar dengan resolusi berbeda.
  • SupportedFileTypes adalah yang paling penting, karena ini adalah tipe file yang akan dibaca/disupport oleh aplikasi nantinya.

Di contoh sebelumnya kita menggunakan file .log untuk contoh eksternsi yang akan dibaca oleh aplikasi. Ketika aplikasi lain mencoba untuk file yang kita support, aplikasi kita akan membuka URI spesifik :

/FileTypeAssociation?fileToken=89819279-4fe0-9f57-d633f0949a19

Parameter fileToken adalah GUID yang mengidentifikasi file tersebut, yang nantinya akan kita gunakan. Untuk mengatur URI yang baru kita akan membutuhkan class UriMapper. (Baca lagi chapter 3 dan update postingan Navigation di Windows Phone).

Ketika kita mengidentifikasi URI ini, kita akan alihkan ke halaman yang lebih spesifik dari aplikasi untuk berinteraksi dengan file yang akan dibuka.

Contoh dari UriMapper seperti dibawah ini:

Jika Uri berisikan kata kunci dari FileTypeAssociation, itu artinya aplikasi telah membuka file yang dituju. Dalam kasus ini, kita perlu mengidetifikasi ekstensi file yang dibuka. Kita ambil parameter fileToken menggunakan method GetSharedFileName() dari class SharedAccesManager yang ada di namespace Windows.Phone.Storage.

Dengan membaca name file, kita bisa mengindentifikasi ektensi dan mempersiapkan langkah selanjutnya. Di contoh sebelumnya kita menggunakan contoh ekstensi .log dan ketika file di dibuka maka aplikasi akan mengarahkannya ke halaman LogPage.xaml. Hal penting lainnya adalah untuk menambahkan Uri dari paramter fileToken seperti query string. (Check chapter 3).

Sekarang saatnya berinteraksi dengan file yang kita terima dari aplikasi lain. Kita akan melakukanya di halaman yang telah kita buat yaitu LogPagexaml.

Kita telah melihat ketika aplikasi lain mencoba untuk membuka file .log, user akan di arahkan ke halaman LogPage.xaml dengan paramter fileToken berisikan query string. Selanjutnya kita akan mengaturnya mdenggunakan event OnNavigatedTo seperti method dibawah ini :

Kita menggunakan class SharedStorageAccessManager, kali ini dari method CopySharedFileAsync(). Maksudnya adalah untuk meng-copy file yang kita terima ke local storage sehingga kita bisa bekerja dengan itu.

Parameter yang dibutuhkan adalah :

  • Object StorageFolder, yang merepresentasikan fole local storage untuk penyimpanan fole.
  • Nama dari filenya.
  • Tipe file, untuk mengimplementasikan jika ada file yang sama selanjutnya.

Satu operasi telah selesai, sebuah file baru dengan ekstensi .log telah berada di local storage dari aplikasi kita, dan kita bisa bermain dengan file tersebut. Contohnya kita bisa menampilkan isinya di halaman sebelumnya.

Bagaimana membuka sebuah file

Sejauh ini kita bisa mengatur untuk membuka file dari aplikais kita, tetapi kita belum membicarakan bagaimana membuka file secara efektif. Caranya sangatlah mudah, yaitu dengan menggunakan method LaunchFileAsync() yang berada di class Launcher di namespace Windows.Sytem. Selain itu kita juga membutuhkan objecy StorageFile sebagai parameternya, yang nantinya merepresentaiskan file yang ingin dibuka.

Berikut contoh method bagaimana membuka file log didalam project kita :

Iklan

Good People write good comments ..

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s