HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2022/09/19

Firebaseの Realtime Databaseでテキストデータに改行を含める方法 Firebaseの Realtime Databaseでテキストデータに改行を含める方法

(Firebase Realtime Database How to include NewLine \n in Text data)

Tags: [Android開発]




● Firebaseの Realtime Databaseでテキストデータに改行を含める方法

 Firebase Realtime Database How to include NewLine \n in Text data

結論1:アプリから myRef.setValue()する場合は改行を保存できます。
myRef.setValue("Hello, World!\n改行\n改行\n改行");
※ \nは改行コード(0x0A)として解釈される。

myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "onDataChange: Value is: " + value);
    }
※ getValueで取得した String値は \nは改行コード(0x0A)を保持している。

結論2:console.firebase.google.comの Firebaseコンソール上でブラウザで編集する場合、改行コードの埋め込みはできません。
 改行コードを含んだテキストを Pasteしても駄目です。(改行コード部分が空白文字に変化します)

 結論1でアプリで保存した内容をブラウザで編集した場合は改行コードが失われます。(改行コード部分が無くなる)

 運用として Firebaseコンソール上でブラウザで編集する場合は、\n等の改行を意味する特定の文字をテキストに埋め込み、アプリ側で文字列置換で改行コードにする必要が有ります。

例:Firebaseコンソール上
hoge:LINE 1\nLINE 2
※ \nは改行コード文字では無く \と nの 2文字(\はバックスラッシュ)

myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        value = value.replace("\\n", "\n");
        Log.d(TAG, "onDataChange: Value is: " + value);
    }
※ getValueで取得した String値の "\\n"を "\n"の改行コード(0x0A)に置換する。

結論3:改行コードを埋め込んだ JSONをインポートで改行を保存できます。
 結論1でアプリで保存した内容を Firebaseコンソール上で「JSONをエクスポート」して気が付きました。
{
  "message": "Hello, World!\n改行\n改行\n改行"
}
※文字列中の "\n"は \でエスケープされた nで "\n"の改行コード(0x0A)を意味する。



Tags: [Android開発]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

Androidで DBのフレームワーク SQLDelightを使う方法、公式の手順だとエラーしか出ない罠
Androidで DBのフレームワーク SQLDelightを使う方法、公式の手順だとエラーしか出ない罠

  SQLDelightを Androidで使う方法

Androidで Twitter4Jを使って Twitterのユーザー タイムラインを丸っと取得する方法
Androidで Twitter4Jを使って Twitterのユーザー タイムラインを丸っと取得する方法

  Twitter4Jの Java ラッパでまるっと取得!ユーザーアカウントでのログインが必要

Androidの公式 Twitterライブラリで Twitterのユーザー タイムラインを丸っと取得する方法
Androidの公式 Twitterライブラリで Twitterのユーザー タイムラインを丸っと取得する方法

  Twitter Kit for Androidでまるっと取得!ユーザーアカウントでのログイン不要

.NET C#の Tweetinviライブラリで Twitterの投稿内容を投稿画像込みで丸っと取得する方法
.NET C#の Tweetinviライブラリで Twitterの投稿内容を投稿画像込みで丸っと取得する方法

  まるっと取得したかった!質問は受け付けない!

Pythonの Tweepyライブラリで Twitterの投稿内容を投稿画像込みで丸っと取得する方法
Pythonの Tweepyライブラリで Twitterの投稿内容を投稿画像込みで丸っと取得する方法

  まるっと取得したかった!質問は受け付けない!

ちいかわの単行本を買ってみた!もちろん特装版!
ちいかわの単行本を買ってみた!もちろん特装版!

  特装版のカルタが怖いと話題のちいかわ単行本。

すみっコぐらし サンエックスの人気キャラクター お菓子のキッシュシュクレ(タルト)、フィナンシェ
すみっコぐらし サンエックスの人気キャラクター お菓子のキッシュシュクレ(タルト)、フィナンシェ

  すみっコぐらしshop東京駅店 東京キャラクターストリート 東京駅一番街に行ってみた

【全集中の呼吸】鬼滅の刃の食玩お菓子を買ったら報告するスレ、オマケシール集め【鬼殺隊】
【全集中の呼吸】鬼滅の刃の食玩お菓子を買ったら報告するスレ、オマケシール集め【鬼殺隊】

  【全買占め】「鬼滅の刃」ブームに乗っかって鬼滅のお菓子を根こそぎ買い占め、これは戦争だ【在庫滅殺】

【我が道を】遂にガチの食玩にも手を出してしまった。。。Re:ゼロから始める異世界生活ウエハース vol.3【突き進むのみ】
【我が道を】遂にガチの食玩にも手を出してしまった。。。Re:ゼロから始める異世界生活ウエハース vol.3【突き進むのみ】

  【レムは俺の嫁】レムが主役のアニメ、リゼロ【エミリアは脇役】

テレビアニメ ご注文はうさぎですか? 通称「ごちうさ」のフィギュアを買ったのでレビュー
テレビアニメ ご注文はうさぎですか? 通称「ごちうさ」のフィギュアを買ったのでレビュー

  ごちうさのスペシャル フィギュア チノ リゼ シャロを買ったのでレビュー、UFOキャッチャー景品




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2022 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/android/android_firebase_realtime_database_newline/