Androidアプリ開発の覚書き

Androidアプリ開発を、Kotlin, Jetpack Composeで行っています。気になったことをChatGPTに聞いて記事にしています。

テキスト処理(HTML・XML他)

Kotlinで正規表現を利用した文字列操作を行う

正規表現の基本的な構文については、Rubyの例ですが、別ブログで詳細に述べています。 Kotlinでは、正規表現クラスRegexのインスタンスメソッド、find(), findAll(), replace()を用います。 Javaのように、replace(), replaceAll()の区別はありません。 repl…

CSVの読み書き:kotlinx.serializationを用いる

(kotlinx.serializationを用いて、JSON文字列を読み書きする方法については、別記事でも触れています。) kotlinx.seriarization便利ですね。KotlinのデータクラスをJSONで読み書きする場合だけでなく、CSVで読み書きする際にも使えるようです。 ただし、ヘッ…

Jetpack ComposeではEditViewではなくTextFieldを用いる

Jetpack Composeでは、EditViewではなく、TextFieldを用います。 また、保持するテキストは、SpannableStringではなく、AnnotatedStringです。 再表示周りの処理が従来のものと異なるので、似た機能の別コンポーネントが用意されているということだと思いま…

Jsoup:KotlinのプログラムでHTMLの表を加工する

JsoupというJavaのライブラリを用いて、HTMLを操作する方法を教えてもらいました。 元の文書がXMLの場合、パーサーを指定する必要があるそうなので、忘れないようにしたいです。 後半では、読み込み・書き込み時の文字コードの設定方法も教えてもらいました…

WebViewでハイライトを動的に追加するには

(Jetpack Compose以前の手法です。Jetpack Compose内でWebViewを使用するためには、AndroidView関数を経由して、WebViewを生成する必要があります。詳細は別記事参照。) また、ChatGPTに聞いてみました。 WebViewでハイライトをするには、Javascriptを用いて…

EditViewでハイライトを動的に追加するには

(Jetpack Composeでは、TextFieldを用います。別記事参照) ChatGPTに聞いてみました。 TextViewまたはEditTextのSpannableStringオブジェクトの値を変更することでハイライトが付加出来るようです。 編集に関しては、表示させたメニューで色を指定するタイミ…