RxJava StringObservable
1. StringObservableの概要
2. Mavenセットアップ
開始するには、依存関係にRxJavaStringを含めましょう。
io.reactivex
rxjava-string
1.1.1
rxjava-stringの最新バージョンは、Maven Centralで入手できます。
3. StringObservable
StringObservableは、エンコードされたStringsの潜在的に無限のシーケンスを表すための便利な演算子です。 .
演算子fromは、入力ストリームを読み取り、バイト配列の文字境界シーケンスを出力するObservableを作成します。
Reactivex.ioによって、CC-BYの下で使用されます
from演算子を使用して、InputStreamから直接Observableを作成できます。
TestSubscriber testSubscriber = new TestSubscriber();
ByteArrayInputStream is = new ByteArrayInputStream("Lorem ipsum loream, Lorem ipsum lore".getBytes());
Observable observableByteStream = StringObservable.from(is);
// emits 8 byte array items
observableByteStream.subscribe(testSubscriber);
4. バイトをStringsに変換する
Encoding/decoding infinite sequences from different charsets can be done using decode and encode operators.
それらの名前が示すように、これらは単にバイト配列のエンコードまたはデコードされたシーケンスを出力するObservable、またはStrings,、したがってwe could use it if we need to handle Strings in different charsets:を作成します。
バイト配列Observableのデコード:
TestSubscriber testSubscriber = new TestSubscriber();
ByteArrayInputStream is = new ByteArrayInputStream(
"Lorem ipsum loream, Lorem ipsum lore".getBytes());
Observable byteArrayObservable = StringObservable.from(is);
Observable stringObservable = StringObservable
.decode(byteArrayObservable, StandardCharsets.UTF_8);
// emits UTF-8 decoded strings,"Lorem ipsum loream, Lorem ipsum lore"
stringObservable.subscribe(testSubscriber);
5. Stringsの分割
StringObservableには、Stringシーケンスを分割するための便利な演算子もいくつかあります。splitとbyLine,はどちらも、パターンに従って入力データ出力アイテムをチャンク化する新しいObservableを作成します。
TestSubscriber testSubscriber = new TestSubscriber();
Observable sourceObservable = Observable.just("Lorem ipsum loream,Lorem ipsum ", "lore");
Observable splittedObservable = StringObservable.split(sourceObservable, ",");
// emits 2 strings "Lorem ipsum loream", "Lorem ipsum lore"
splittedObservable.subscribe(testSubscriber);
6. 文字列の結合
前のセクションの演算子を補完するのは、joinとstringConcatで、StringObservableからの項目を連結して、区切り文字を指定して単一の文字列を出力します。
また、これらは出力を出す前にすべてのアイテムを消費することに注意してください。
TestSubscriber testSubscriber = new TestSubscriber();
Observable sourceObservable = Observable.just("Lorem ipsum loream", "Lorem ipsum lore");
Observable joinedObservable = StringObservable.join(sourceObservable, ",");
// emits single string "Lorem ipsum loream,Lorem ipsum lore"
joinedObservable.subscribe(testSubscriber);
7. 結論
このStringObservableの簡単な紹介では、RxJavaString.を使用したStringの操作のいくつかの使用例を示しました。
このチュートリアルの例とStringObservable演算子の使用方法に関する他の例は、over on GitHubにあります。