RecyclerViewでアイテムのクリックイベントを取得し、処理を実行する方法を紹介します。
RecyclerViewの実装
RecyclerViewは子Viewを並べて表示するコンテナタイプ(ConstraintLayoutと同じ)のViewです。
複数のデータをスクリーン上に一覧表示したい時、例えば電話帳のような「氏名+住所+電話番号」の一覧を表示する場合などに最適です。
アプリを開発していると一覧表示したいデータが多いことに気付きます。
なのでRecyclerViewはとても重要で重宝するViewです。
しかし、思い通りの表示を行わせるためのテクニックが多すぎて、使いこなしが難しいです。
今まで調べたテクニックを忘れないように、整理して書き残そうと思います。
今回は基本の「RecyclerViewの実装」です。
NativeコードでOpenMPプログラミング
KotlinコードをNativeコード(C/C++)に置き換えることで処理の高速化が期待できます。さらに高速化するにはマルチスレッド化が有効です。マルチコアCPUの能力を最大限に活用するのです。
このNativeコードをマルチスレッド化する手段にOpenMPがあります。
今回、画像処理を行う中でNativeコードを高速化する必要性が発生し、OpenMPを調査しました。
その成果として、Android NDKでOpenMPを使う方法とOpenMPプログラミングについて紹介します。
Nativeコード(NDK)でログを出力
Android NDKはAndroidシステムのログを出力(Logcat出力)する仕組みを備えています。この仕組みを使えば、Nativeコードからログ出力が行えるのでデバッグ作業に役立ちます。
Nativeコードからログを出力する方法を紹介します。
Nativeコード(NDK)でBitmapの画像処理
Android NDKはNativeコードからBitmapを処理するためのグラフィックライブラリを実装しています。これを使うとBitmapが容易に扱えるので便利です。
画像はデータ量が多いため、画像処理や解析を行うと重い処理になってしまいます。Nativeコードで行えば高速化が出来ます。
また、JNI(Java Native Interface)があるので、Kotlin~Nativeコード間のデータ受け渡しの親和性が高い点もよいです。処理の指示を引数で渡したり、処理の結果をNativeコードの戻り値で返したりが簡単です。
今回、このライブラリを使ってBitmapの画像処理を行ってみたので紹介します。