LoginSignup
0
0

NCMBのC#(Xamarin/MAUI) SDKがファイルストアに対応しました

Posted at

ニフクラ mobile backend(NCMB)では公式として各種フレームワーク、環境向けにSDKを提供しています。その1つにUnityがあります。Unity向けに開発を行う際にはC#を利用しますが、このUnity用SDKは.NET環境では利用できません。

そこでコミュニティSDKとしてXamarinや.NET 2.0でも動作するC# SDKを開発しています。今回のバージョンアップ(1.2.0)でファイルストアのCRUD操作に対応したので使い方を解説します。

NuGet Gallery | NCMBClient 1.2.0

NCMBをインストール

任意のプロジェクトをVisual Studioで開きます。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/9c51cd20-c9f4-a00b-804a-ed7db410ccd0.png

そしてプロジェクトを右クリックして、NuGetパッケージの管理を選択します。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/61392119-a472-9d33-101d-970f016fc2cf.png

出てきたウィンドウで、NCMBClientを検索します。執筆時点での最新版は1.0.0です。これを追加します。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/f06df07c-f55d-1e0e-65b2-de79c779cc80.png

NCMBをインポートする

MainPage.xaml.cs を開きます。そして、namespaceの下でNCMBClientをインポートします。

namespace MyMauiApp;
using NCMBClient;

クラスの初期化時にNCMBも初期化します。キーはニフクラ mobile backendより取得してください。

public MainPage()
{
	InitializeComponent();
	new NCMB("YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY");
}

ファイルストアの使い方

これまでファイルストアへのアップロードには対応していました。

// テキストで指定する場合
var str = "1,2,3";
var data = System.Text.Encoding.ASCII.GetBytes(str);
var file = new NCMBFile("test2.csv", data, "text/csv");
await file.Save();

// バイナリファイルの場合
var data = File.ReadAllBytes("ncmb.png");
var file = new NCMBFile("ncmb.png", data, "image/png");
await file.Save();

CRUDの他の操作については以下のように行います。

ファイルの内容を更新する

ファイル内容を更新する場合には、保存と同じように行います。 data プロパティに内容を付けます。

// テキストで指定する場合
var str = "1,2,3";
var data = System.Text.Encoding.ASCII.GetBytes(str);
var file = new NCMBFile("test2.csv", data, "text/csv");
await file.Save();

// テキストで指定する場合
var str2 = "1,2,3,4,5";
var data2 = System.Text.Encoding.ASCII.GetBytes(str);
file.data = data2;
await file.Save();

コンテンツダウンロード

ファイルの内容は以下のようにダウンロードします。2種類あるので、使いやすい方を使ってください。

var file = new NCMBFile("test2.csv");
var data = await file.Download();
// そのあとは file.data でアクセス可能

クラスメソッドからも利用できます。この場合はコンテンツだけが返ってきます。

var data = await NCMBFile.download("test2.csv");

ファイルの検索

ファイル検索はNCMBQueryを使います。

var query = NCMBFile.Query();
query.EqualTo("fileName", fileName);
var ary = await query.FetchAll();

ファイルの削除

削除は Delete メソッドです。

var file = new NCMBFile("test2.csv");
await file.Delete();

まとめ

C# SDKはXamarinで使えばiOSやAndroidはもちろん、Linux/macOS/Windowsアプリも開発できます。.NET環境であればWebやCLI開発でも利用できます。ぜひ皆さんのアプリ、Webアプリ開発に利用してください。

NuGet Gallery | NCMBClient 1.2.0

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0