Kotlinにおける関数型とラムダ式

関数型 val functionCall = func() と書くと関数を呼び出してその戻り値を取得しますが、 val functionCall = ::func と書くと関数そのものを参照します。 ラムダ 構文形式を確認する 関数をデータ型として扱う 戻り値の型を指定しなければ、コンパイラは自動的に Unit を戻り値とみなします。 Kotlinでは、すべての関数は何かを返す必要があります。戻り値を指定しな ...

7月10日 16:21 投稿

Kotlinのオブジェクト指向プログラミング:クラス、継承、プロパティ、インターフェース

クラス クラスの宣言は以下のようになります。 // クラス宣言 class User { /*...*/ } // 空のクラス class Empty // プライマリコンストラクタ class User constructor(name: String) { /*...*/ } // キーワードを省略したプライマリコンストラクタ class User(name: String) { /*...*/ } // プライマリコンストラクタのロジックはinitブロックに記述します // 複数のinit ...

7月8日 23:57 投稿

Kotlin における let, with, run, apply, also 関数の使用方法

1. let 関数 let 関数は、特定のスコープ内で変数を定義する場合や null チェックを簡略化するために使用されます。 1.1 使用例 object.let { it.todo() // it で object のプロパティやメソッドにアクセス } // null チェック object?.let { it.todo() } 1.2 インライン関数とラムダ式 @kotlin.internal.InlineOnly public inline fun <T, R> T.let(block ...

7月7日 17:12 投稿

Kotlinのオブジェクトキーワード:シングルトン、コンパニオンオブジェクト、オブジェクト式の使い方

Kotlinのobjectキーワードの基本概念 Kotlinのobjectキーワードは、状態を持たないユーティリティクラス、定数コレクション、または依存性注入フレームワーク内のモジュール定義に適しています。 objectキーワードの主な用途 オブジェクト宣言 クラスを定義すると同時にそのインスタンスを作成する、遅延初期化しないシングルトンパターンです。 コンパニオンオブジ ...

7月7日 00:40 投稿

RokidDemo入門:初心者でも実践できるスマホ×メガネ連携アプリ開発

Rokidメガネのエコシステムに初めて触れるなら、RokidDemoはまさに「スマホとメガネを繋ぐ架け橋」です。単なるサンプルコードではなく、スマホとメガネを実際に連携させ、インタラクションや協調動作を実現するための基盤プロジェクトです。このプロジェクトでは以下の機能を確認できます。 Rokidメガネのスキャン発見、Bluetooth接続と認証 メガネの状態(バッテリー残 ...

6月28日 23:38 投稿

Android向けカスタムChromiumベースWebViewの実装ガイド

環境構築と基本実装 Androidアプリケーションに高度なWebレンダリング機能を組み込むためのChromiumベースWebViewの実装方法を解説します。本ガイドでは、システム標準WebViewとは独立したカスタム実装を構築する手順を説明します。 開発環境のセットアップ 以下のツールを事前にインストールしてください: Android SDK(バージョン34以降推奨) NDK(バージョン25以上 ...

6月20日 19:02 投稿

Androidシングルトンパターンの実装戦略と最適化

基本概念と実装手法 シングルトンの必須特性 単一インスタンス保証:クラスのインスタンスが1つしか存在しない 統一アクセスポイント:グローバルな取得メソッドを提供 自己初期化:クラス自身がインスタンス管理を担当 基本実装手法の比較 即時初期化(Immediate Initialization) public class ImmediateInstance { private static final ImmediateInstance INSTA ...

6月17日 18:50 投稿

Spring BootにおけるSLF4Jログの設定と活用

Spring Bootは複数のロギングフレームワークをサポートしており、標準ではSLF4J(Simple Logging Facade for Java)を介してLogbackが使用されます。本記事では、SLF4Jを用いたログ出力の基本から設定方法まで解説します。 ログ出力の構造 典型的なSpring Bootのログ出力例を以下に示します: 2024-02-25T15:01:11.515+08:00 INFO 3272 --- [ main] o.s.b.w.em ...

6月12日 16:12 投稿

Android Glance 安定版リリース:Compose で構築するウィジェット開発

Jetpack Glance 安定版の登場 Android 開発において、アプリウィジェット(AppWidget)の構築方法が刷新されました。Jetpack Glance の安定版(Stable)がリリースされ、従来の XML ベースな RemoteViews に代わり、Jetpack Compose と類似した宣言型 UI API でウィジェットを作成できるようになりました。これにより、モダンな Android 開発フローの中でウィジェット開発 ...

6月8日 23:43 投稿

Android アプリ開発の基礎:アーキテクチャから Jetpack までの要点解説

1. Android システムの概要 Android プラットフォームは階層化されたアーキテクチャを持ち、各レイヤーが特定の役割を担っています。 1.1 システム構造 アプリケーション層: ユーザーが直接操作するアプリ群(ブラウザ、メール等) フレームワーク層: アプリ開発に必要な機能を提供する API の集合体 ネイティブ実行ライブラリ層: C/C++ で記述された高性能な機能サポート ...

5月30日 08:34 投稿