ysk-san KT

技術系の情報をKTするために、まずは勉強

2023-01-01から1年間の記事一覧

AndroidAppにおけるMain ThreadとBackground Threadの違いと順序保証について

Main Thread? Background Thread? Androidアプリケーションでは、イベント処理やタスクの実行には通常、メインスレッド(UIスレッド)とバックグラウンドスレッドの2つの主要なスレッドが関与します。UIスレッドは、ユーザーインターフェースを更新するため…

Android AppにおけるWake Lockの実装、デバッグ、Tips紹介

はじめに Androidデバイスは省電力モードに入ることがあり、これがアプリケーションの動作に影響を与えることがあります。Wake Lockは、デバイスがスリープモードに入るのを防ぎ、アプリケーションが動作し続けるのを確保するための重要な概念です。この記事…

ABI(Application Binary Interface)ってなんですか?/ What is a ABI(Application Binary Interface)?

(English below) ABI(Application Binary Interface)は、コンピューターシステム内でアプリケーションソフトウェアがバイナリ形式で互換性を維持するためのインターフェース規格です。ABIは、アプリケーションがオペレーティングシステムやハードウェアと…

HDMIの論理アドレスと物理アドレスについてのまとめ

はじめに HDMI(High-Definition Multimedia Interface)は、映像と音声のデジタル伝送に広く使用される主要なインターフェース規格の一つです。HDMIは、テレビ、モニタ、プロジェクタ、コンピュータ、ゲーム機など、多くのデジタルデバイスで一般的に利用さ…

AndroidのLogcatをPCにテキストで吐く最もシンプルな説明

AndroidのログをPCに出力するためには、AndroidデバイスをPCに接続し、Android Debug Bridge(ADB)を使用してログをキャプチャする方法があります。以下に手順を示します。 ADBのインストール: 最初に、Android Debug Bridge(ADB)をインストールする必要…

プロビジョニング(Provisioning)とデプロイ(Deployment)についての説明

プロビジョニング(Provisioning)とデプロイ(Deployment)は、ソフトウェア開発およびインフラストラクチャの管理において重要な概念であり、それぞれ異なる役割と目的を果たしています。以下に、それぞれの概念に焦点を当てながら、技術的な側面での違い…

androidデバイス上でnetwork通信をdumpする簡単なまとめ

ネットワークトラフィックをキャプチャし、データを閲覧するための一般的な手順は、Androidデバイス上でWiresharkを使用することです。ただし、注意が必要で、ルート権限が必要ないと正確なトラフィックデータが得られないことがあります。以下は、手順の概…

Android開発におけるディープリンク (Deep Link)とアプリ内リンク (In-App Link)のまとめ

ディープリンク、アプリ内リンクの比較 共通点: 両方とも、ユーザーエクスペリエンスの向上を目的としており、アプリ内の特定のコンテンツや機能に素早くアクセスできるようにします。 相違点: 起動のトリガー: ディープリンクは通常、外部からのトリガーに…

Surface viewの利用方法:高度なグラフィックス処理やアニメーションを実現/

SurfaceViewとは何か? Androidアプリケーションの開発において、SurfaceView(サーフェスビュー)は画面の描画に特に適したコンポーネントです。通常のViewとは異なり、SurfaceViewは直接ピクセル単位の描画が可能なため、高度なグラフィックス処理やアニメ…

Android上でUWB(Ultra-Wideband)を動かすための簡単なまとめ/A brief summary of running UWB (Ultra-Wideband) on Android

(English below) Android上でUWB(Ultra-Wideband)を動かすための簡単なまとめです。UWBは位置情報を高精度で取得するための技術で、この記事ではAndroidデバイスでUWBを活用する方法を説明します。具体的なコードサンプルとデバイスの使用方法を提供します…

Talkback機能の解説と実装・評価方法/Explanation of the Talkback function and how to implement and evaluate it

(English Below) AndroidのTalkBack機能は、視覚障害のあるユーザーがアプリをナビゲートして操作できるようにする、不可欠なアクセシビリティツールです。この記事では、TalkBackを実装することの重要性について説明し、その方法についてステップバイステッ…

HDMI CEC(Consumer Electronics Control):コード例と技術解説/HDMI CEC (Consumer Electronics Control): Code Examples and Technical Descriptio・

(English below) 第1章:HDMI CECとは何か? HDMI CECは、Consumer Electronics Controlの略であり、HDMI(High-Definition Multimedia Interface)を通じて複数の消費者向け電子機器が相互に通信するための通信プロトコルです。この機能により、テレビ、DVD…

Androidにおける"BOOT_COMPLETED"と"LOCKED_BOOT_COMPLETED"と"Direct_BOOT"とは?/What are "BOOT_COMPLETED", "LOCKED_BOOT_COMPLETED" and "Direct_BOOT" in Android?

(English below) 要約: Androidデバイスの起動時やロック解除時に発生するいくつかのシステムイベントには、"BOOT_COMPLETED"、"LOCKED_BOOT_COMPLETED"、および"Direct_BOOT"という3つの主要なイベントがあります。この記事では、それぞれのイベントの違い…

Lottie:ウェブやモバイルアプリで魅力的なアニメーションを作成・表示するための強力なツール/Lottie: A powerful tool for creating and displaying compelling animations on the web and in mobile apps

(English below) イントロ Lottieは、ウェブやモバイルアプリで魅力的なアニメーションを作成・表示するための強力なツールです。この記事では、Lottieの基本的な使い方から、より具体的な組み込み方法までを解説します。さらに、参考になるコードも提供する…

ChatGPTとの効果的なプログラミング対話のための10のコツ/10 Tips for Effective Programming Dialogue with ChatGPT

(English Below) イントロダクション ChatGPTは、強力な自然言語処理AIモデルですが、プログラミングにおいても便利なツールです。本記事では、ChatGPTとの効果的なプログラミング対話を行うための10のコツを紹介します。これにより、よりスムーズな対話を実…

gRPCを使用したマイクロサービスのちょっとしたガイド/A little guide to microservices using gRPC

(English below) イントロダクション gRPCは、効率的で信頼性の高いマイクロサービス間通信を実現するためのモダンなプロトコルです。本記事では、gRPCの基本原則から始め、マイクロサービス通信のベストプラクティスや具体的なコード例を提供します。 gRPC…

AIDLとHIDLってなに??/What are AIDL and HIDL?

(English below) 今日のモバイルアプリ開発において、プログラマーは、様々なデバイスからの入力や出力を処理し、それらをアプリケーションと統合する必要があります。これには、Android開発においては、AIDLとHIDLのようなRPC(Remote Procedure Call)フレ…

フレームレート60と59.94の違い/Difference between a frame rate of 60 and 59.94

(English Below) フレームレートとは 動画のフレーム(静止画像)が1秒間に表示される回数を表します。フレームレートは、動画の滑らかさや視聴体験に大きな影響を与えます。現在、最も一般的なフレームレートは60fpsですが、59.94fpsもしばしば使用されます…

exoplayerのoffloadとPrimaryの違い/Difference between exoplayer offload and primary

(English below) はじめに ExoPlayerは、Androidアプリケーションでのメディア再生を強力にサポートするフル機能のメディアプレーヤーライブラリです。ExoPlayerには、OffloadモードとPrimaryモードという2つの再生モードがあります。本記事では、ExoPlayer…

android.media.audiopolicy.AudioProductStrategyについて調べた/ I looked up android.media.audiopolicy.AudioProductStrategy

(English below) android.media.audiopolicy.AudioProductStrategy android.media.audiopolicy.AudioProductStrategyは、Androidデバイス上で音声ポリシーを実装するためのクラスです。AudioProductStrategyは、デバイスに接続された異なる種類のオーディオ…

最も簡単なAndroid random testのやりかた/The easiest way to do an Android random test

(English Below) Androidのランダムテストを行うには、Android Debug Bridge(ADB)を使用して、ランダムなイベントを生成するスクリプトを実行する必要があります。以下は、Androidのランダムテストを実行するための手順です。 ADBをインストールする ADBを…

Bluetooth:Gatt?BEL?Advertisement?なにそれ?/Bluetooth: Gatt?BEL?Advertisement?What's that?

(English Below) イントロダクション Bluetoothは、無線通信技術の中でも最も広く利用されているものの1つです。Bluetoothの一部として、Gatt(Generic Attribute Profile)、BEL(Bluetooth Low Energy)、Advertisementという機能があります。この記事では…

Perfettoの使い方を簡単にまとめてみた/A brief summary of how to use Perfetto

(English below) Perfettoは、Googleが開発したパフォーマンスツールで、ウェブページのレンダリングパフォーマンスを計測し、改善することができます。この記事では、Perfettoの使い方について、解説します。 Perfettoとは何か?Perfettoは、Googleが開発し…

Chat GPTを使ってUnitTestを書く方法/How to write a UnitTest using Chat GPT

(English Below) Unit Testとは、ソフトウェア開発において、個々のコンポーネントが期待どおりに動作するかどうかを確認するためのテスト手法のことです。ChatGPTを使ってUnit Testを書くことで、自然言語処理のテストを簡単に行うことができます。 手順 以…