Skip to content
This repository has been archived by the owner on Jan 3, 2022. It is now read-only.

Nia-TN1012/SPADA

Repository files navigation

すぱーダ(SPADA)

.NET Standard版のすぱーダ(すぱーダS)のリリースのお知らせ

いつも、すぱーダシリーズをご利用いただきありがとうございます。

この度は、.NET Standard 2.0に対応したすぱーダ「すぱーダS(SPADAS)」をリリースいたしました。
UWPアプリはもちろんのこと、Xamarinや.NET Coreを利用したマルチプラットフォーム向けのアプリでご利用できます。

  • .NET Core 2.0 以上
  • .NET Framework 4.6.1 以上 (バージョンによっては、NuGetパッケージ「NETStandard.Library」が別途必要です。)
  • ユニバーサルWindowsプラットフォーム 10.0.16299 以上
  • Mono 5.4 以上
  • Xamarin.Mac 3.8以上
  • Xamarin.Android 8.0以上
  • Xamarin.iOS 10.14以上

名称 : すぱーダ(SPADA)
種別 : .NET クラスライブラリ

ターゲットプラットフォーム :

  • すぱーダ(SPADA) : .NET Framework 4.0
  • エクすぱーダ(XSPADA) : .NET Framework 4.5、Xamarin.Android、Xamarin.iOS、Windows 8.x用ストアアプリ、Windows Phone 8.1(Silverlightには非対応)
  • ユニすぱーダ(UniSPADA) : ユニバーサルWindows(Build 10240以上)
  • すぱーダS(SPADAS) : .NET Standard 2.0

作成者 : 智中 ニア( @nia_tn1012
ライセンス : MIT Licence

リンク
 http://chronoir.net (ホームページ)
 http://chronoir.net/spada (ライブラリのページ)
 https://github.com/Nia-TN1012/SPADA (GitHubのリポジトリ)

NuGet Gallery


◆ はじめに

ダウンロードしていただき、ありがとうございます。
すぱーダ(SPADA)は、プログラミング生放送のすぱこーRSSフィード ( https://pronama.jp/spaco-feed/ )を簡単に読み込むことができるライブラリです。

◆ ダウンロードとインストール方法

以下のリンクからzipファイルをダウンロードし、解凍します。

DLLファイルをアセンブリ参照に追加するか、ソースファイルをプロジェクトに追加します。

◆ 使用方法

すぱーダは すぱこーRSSフィードを読み込むSpacoRSSReaderクラスと すぱこーの各話データを格納するSpacoRSSItemクラスの2つで構成されています。

いずれも名前空間はChronoir_net.SPADAです。
※エクすぱーダはChronoir_net.XSPADA、ユニすぱーダはChronoir_net.UniSPADA、すぱーダSはChronoir_net.SPADASです。

using Chronoir_net.SPADA;

◆ すぱこーRSSフィードの読み込み

SpacoRSSReader.Load( string )メソッドで、 すぱこーRSSフィードのURLを指定して読み込みます(内部でLINQ to XMLを用いています)。

または、SpacoRSSReader.Load( XmlReader )メソッドで、 XmlReaderオブジェクトを指定して読み込むことも可能です(こちらの方が高速です)。

読み込みに成功すると、コンテンツのデータを格納したSpacoRSSReaderオブジェクトが返ります。

SpacoRSSReader srr = SpacoRSSReader.Load( "http://pronama-api.azurewebsites.net/feed/spaco" );
...

または

using System.Xml;

using( XmlReader xr = XmlReader.Create( "http://pronama-api.azurewebsites.net/feed/spaco" ) ) {
	SpacoRSSReader srr = SpacoRSSReader.Load( xr );
	...
}

エクすぱーダ及びユニすぱーダでは、非同期で読み込むためのSpacoRSSReaderAsync.Load( string, CancellationToken? )メソッドとSpacoRSSReader.LoadAsync( XmlReader, CancellationToken? )メソッドを 用意しています。また、WebからXmlReaderオブジェクトを生成するSpacoRSSClient.GetXmlReaderAsync( string, CancellationToken? )メソッドも用意しています。
これらのメソッドは、CancellationTokenを使って処理を中止させることができます。

using System.Threading;
using System.Xml;

CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

using( XmlReader reader = await Task.Run( () => SpacoRSSClient.GetXmlReaderAsync( "http://pronama-api.azurewebsites.net/feed/spaco", cancellationTokenSource.Token ) ) ) {
	SpacoRSSReader srr = await Task.Run( () => SpacoRSSReader.LoadAsync( reader, cancellationTokenSource.Token ) );
	...
}

◆ データの取り出し

SpacoRSSReaderオブジェクトのプロパティからデータを取り出します。

※型の標記のないものは全てstring型です。

  • Title : 作品のタイトル

  • Link : リンク

  • Description : 作品の説明

  • PubDate : 最新話更新日( DateTime型 )

  • BannerURL : バナー画像のURL

  • Author : 作成者名

  • Items : 各話のデータのコレクション( IEnumerable<SpacoRSSItem>型 )

◆ 各話のデータの列挙

SpacoRSSReader.ItemsプロパティからLINQを使って、各話のデータを列挙することができます。

// 単純な列挙
foreach( SpacoRSSItem item in srr.Items ) {
	...
}

// 今日から起算して過去2ヶ月分のみを抽出
var srr_rc2 = srr.Items.Where( _ => _.PubDate >= DateTime.Now.AddMonths( -2 ) );

◆ 各話のデータの取り出し

SpacoRSSItemオブジェクトのプロパティからデータを取り出します。

※型の標記のないものは全てstring型です。

  • Title : タイトル
  • Author : 作成者名
  • Link : リンク
  • PubDate : 投稿日( DateTime型 )
  • Description : 作品の説明
  • Volume : 作品の話数( int型 )
  • ModifiedDate : 更新日( DateTime型 )
  • IsAvailable : 利用可能( bool型 )
  • MediaURL : 漫画の画像
  • ThumbnailURL : サムネイル画像のURL
  • ID : ID

◆ サンプル

using System;
using System.Collections.Generic;
using System.Xml;
using System.Linq;

using Chronoir_net.SPADA;

class Program {

	static void Main( string[] args ) {
		try {
			// すぱーダで、すぱこーRSSフィードの読み込みます。
			SpacoRSSReader srr = null;
			// XMLReaderクラス経由ですぱこーRSSフィードを読み込みます。
			using( XmlReader xr = XmlReader.Create( "http://pronama-api.azurewebsites.net/feed/spaco" ) ) {
				srr = SpacoRSSReader.Load( xr );
			}
			Console.WriteLine( "完了!" );

			// すぱこーRSSフィードのチャンネル情報を取得します。
			Console.WriteLine( $"タイトル : {srr.Title}" );
			Console.WriteLine( $"概要 : {srr.Description}" );
			Console.WriteLine( $"最新話公開日 : {srr.PubDate}" );
			Console.WriteLine( $"リンク : {srr.Link}" );

			// 各話のデータを取得します。
			Console.WriteLine( "\n各話の情報" );
			foreach( var item in srr.Items ) {
				Console.WriteLine( $"◆ 第{item.Volume}" );
				Console.WriteLine( $" タイトル : {item.Title}" );
				Console.WriteLine( $" 作者 : {item.Author}" );
				Console.WriteLine( $" 公開日 : {item.PubDate}" );
				Console.WriteLine( $" リンク : {item.Link}" );
			}

		}
		catch( Exception ex ) {
			Console.WriteLine( $"\nエラー : {ex.Message}" );
		}
	}
}

◆ 免責条項

このライブラリを使用しことにより生じたいかなるトラブル・損害において、 作成者及びChronoir.netは一切の責任を負いかねます。あらかじめご了承ください。

◆ 変更履歴

  • 2019/06/16
      - すぱーダSを追加

  • 2016/01/30
      - エクすぱーダとユニすぱーダを追加

  • 2015/12/27
      - 初版リリース

About

すぱーダ(SPADA)は、プログラミング生放送のすぱこーRSSフィード ( http://pronama.azurewebsites.net/spaco-feed/ )を簡単に読み込むことができるライブラリです。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages