Java

正規表現

PHPの文字列にマッチする正規表現をJavaのPatternの正規表現で定義してみる

命題1 ダブルクオーテーションで始まり、ダブルクオーテーションで終わる
命題2 文字列内に「\”」が存在する可能性がある

これを目指しました。

一番簡単なのは

次にループ展開形式にすると、

しかし、このループ展開形式の正規表現だけだと、やっぱりダメなので、二つを強引に合わせて、

これだけでもかなり複雑な正規表現になりました。もっときれいに表現できるはずなのですが、もうこれ以上頭が回らないので、とりあえずこれで進める

RealmでListやMapを保持

Realm for Androidでの話です

Realmではオブジェクトを利用して、データの永続化が行うことが可能です。

しかし、オブジェクト内のフィールドとして、ListやMapを保持するためにはひと工夫が必要でした。

RealmListを利用するとListの形で保持することはできます。これにより一対多の関係を作ることができます

これはこれでいいのですが、単純にListみたいにしたい場合はエラーになります

今回どうしても、Listにしたかったので、JSON形式で保存することにしました

@IgnoreでListはデータ永続化の対象外にしました。そのうえで、代入する場合、ListをJSONに変換して、itemsに代入します。取り出すときにはitemのJSONをListに変換して取り出します。永続化自体はString itemsでJSON形式の文字列で行われています。実際には細かいところでNULLチェックなどが必要になりますね

このアイディアの応用でシンプルな形式ならMapなどもなんとか行けます。

もっといいアイディアがあるはずだと思いますが、まずはこれで実現できました。

☆Volleyとは(導入~使用例まで)

〇Volleyとは
Volley公式ページ

Google 製の Android アプリ用のネットワークライブラリ。キャッシュや高速化、データ取得やキャンセル処理などの課題を効率的に解決するライブラリ。

〇導入
app/build.gradle

〇使い方
参考

参考

〇リクエストヘッダに追加情報を付与する方法
参考

〇レスポンスヘッダから追加情報を読み取る方法
参考①
参考②