Android関連のことを調べてみた2022年05月17日

Android関連のことを調べてみた2022年05月17日

AndroidからPCへタップ座標値をUDPで送信。

■プログラムの概要
 ・Android側:画面アイコンをタップ移動した際の座標をUDP送信。
 ・PC側:winapi(言語:C++)ベースで作成したUDF受信処理。
 ・開発環境:AndroidStudioBumblebee2021.1.1  VisualSutudio2013
 ・送信確認ツール:Wireshark ver3.6.3
 ・用途:シンセサイザ。※YouTube動画リンク先:https://youtu.be/9AdsV2z7p_E
 ・備考:UDP受信後の処理(音生成/音色制御)は割愛してます。

■Android側のプログラムのソースコード
 (補足)touch_iconはトランペットアイコン、bgは背景画像。いずれもpptで作成。
“`java:activity_main.xml

FreeBSDでAndroid USBデザリング

FreeBSD/i386 12.3RでAndoridをUSBにつないでUSBデザリングモードにするとカーネルモジュールがロードされue0が生えてきます。

dhclientをue0で上げるとプライベートが降ってきました。なぜかクラスCのプライベートアドレスなのに対向のアドレスの一番下が1ではなく129でした。

後はデフォルトルートと/etc/resolv.confを設定すればインターネットに接続できます。

インターネット接続がない状態でのインターネット接続は結構大変です。

とりあえずこれはWin10で書きました。

元記事を表示

Xsens Dot SDK( Android ) Recordingの基本

# はじめに
Xsens Dot を制御するAndroidアプリを制作できる「Xsens Dot Sdk」の、サンプルアプリに実装がない「Recording」の基本的な実装方法をまとめました。

Xsens DOT SDK本体や公式のドキュメントは、下記のURLのフォームに回答することで送られてくるメールからダウンロードすることができます。
https://content.xsens.com/xsens-dot-software-development-kit?hsCtaTracking=2af14a41-b15f-4733-b2ca-5498b2888842%7C21941862-cb62-421e-9e0e-2dac04d1ca9f
サンプルアプリもgithubに公開されています。サンプルにRecording機能はなく、Streamingのみの実装がされています。
https://github.com/xsens/xsens_dot_example_android

本記事は、サンプルアプリ内に実装されていることに関しては解説しておらず、サンプルアプリ内の実装に一通り目を通したこと

元記事を表示

もしAndroidオープンソースがクソコードだったら

## まえおき

– 下品なタイトルで申し訳ありません。
– あえてクソコード化させてクラス設計を考察する。という内容です。
– というのは、直近でCodeCompleteを読んでいてクラスをどう設計するべきかについて学びました。
– 抽象的な表現も多く記憶から消える前に実際のソースコードを通してクラス設計のアンチパターンをまとめてみようと思います。
– しかし設計を1からするのは難しいため、逆の発想でAndroidのオープンソースコードであればJavaで美しく設計されていると信頼して、そのうちのSimpleAdapterクラスを部分的に変更してどんなリスクが生じるのかを考察します。Fragmentクラスなどはメンバが多すぎたため少しマイナーかもしれませんがアダプタを説明の都合上採用します。
– CodeCompleteを読んだ人やクラス設計を学習している人、JavaでAndroid開発をしている人に楽しんでもらえたらうれしいです。

## クラス定義のねらい

– CodeCompleteを読んでいるといろんなことが書いてあるわけですが、そもそものクラス設計の本質は『複雑さの緩和

元記事を表示

Kotlin 1.6.20の変更点

※ソース記事は[こちら](https://kotlinlang.org/docs/whatsnew1620.html)
※Kotlin/JSやKotlin/Nativeについては個人的に使っていないので、割愛します。
Kotlin 1.6.20により、将来の言語機能のプレビューが明らかになり、マルチプラットフォームのプロジェクトのために階層構造がデフォルトになり、他のコンポーネントに進化的な改善がもたらされている。
こちらの[動画](https://youtu.be/8F19ds109-o)でも、変更の短い概要を見ることができる。
# 言語
Kotlin 1.6.20では、2つの言語の特徴を試すことができる。
– Kotlin/JVMのためのコンテキストレシーバーのプロトタイプ
– 明確なnon-nullable型
## Kotlin/JVMのためのコンテキストレシーバーのプロトタイプ
::: note alert
この機能はKotlin/JVMのためにのみ利用可能なプロトタイプである。`-Xcontext-receivers`を有効にすることで、コンパイラは本番コードでは利用できない

元記事を表示

[Android] Roomを使ってローカルDatabaseにデータを保存してみた

## 背景
データ永続化するニーズが出てきたので、ローカルDBにデータを保存して、サーバーと常に同期するようにした

### 技術背景
– Kotlin: 1.6.20
– KSP: 1.6.20-1.0.5
– Android Studio: BumbleBee

## Roomとは
> Room 永続ライブラリは SQLite 全体に抽象化レイヤを提供することで、データベースへのより安定したアクセスを可能にし、SQLite を最大限に活用できるようにします。

[Room  \|  Android デベロッパー  \|  Android Developers](https://developer.android.com/jetpack/androidx/releases/room?hl=ja)

## Setup Room
– kaptは非推奨になったため、kspを使いました。
– [Using kapt \| Kotlin](https://kotlinlang.org/docs/kapt.html)
– [Kotlin Symbol Processing API

元記事を表示

Kotest でのコルーチンのテスト向けのセットアップ

![kc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/359439/b75b01ab-e388-a968-242d-3c88796177b3.png)

テストフレームワークとして [Kotest](https://kotest.io/) を使っているのですが、コルーチンまわりのテストについて工夫が必要だったので、やっていることをご紹介します。

(ここでは `kotlinx-coroutines-test` 1.6 以降を対象とすることにします)。

## コルーチンのテストについて

テストフレームワークによらず一般論として、コルーチンのテストは `kotlinx-coroutines-test` を使ってテストを行うというやりかたが説明されています。

`kotlinx-coroutines-test` 1.6 への移行ガイドが一番わかりやすかったので引用します:

https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-

元記事を表示

NCMBのKotlin SDKを使ってTodoアプリを作ろう

NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回は公式SDKの一つ、Kotlin SDKを使ってTodoアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

## 完成版のコード

作成したデモアプリのコードは[NCMBMania/Kotlin_Todo: Kotlin SDKを使ったTodoアプリです](https://github.com/NCMBMania/Kotlin_Todo)にアップロードしてあります。

## ベースアプリのダウンロードまで

今までは2言語の比較を見ながら機械学習をしていたが、翻訳を見ずに学習ができるようになった。これにより翻訳に24の

元記事を表示

androidアプリ インターバルタイマーの開発

# CoCoIntervalTimer紹介ページ
筋トレなどの時に使用できるインターバルタイマーアプリの紹介です。

## 概要
たとえば、第1種目30秒、第2種目50秒、休憩20秒 以上の流れを×3セット!などの
プランを作成し、タイマーとして動作させます。

## 用語解説
-プラン
第1種目30秒、第2種目50秒、休憩20秒 以上の流れを×3セット!などのトレーニングメニュー全体を1つのプランとします。

-ステップ
プランを構成する要素です。
第1種目30秒→第1ステップ 第2種目50秒→第2ステップ

-シンプルプラン
ワーク部分と休憩部分を何セット行うかのシンプルなプランです。(30秒運動、10秒休憩を3セットなど)
シンプルプランはワーク秒数、休憩秒数、セット数を指定することで作成できます。

-カスタムプラン
複数ステップをカスタムしてプランを作成できます。
カスタムプランでは自由にステップを追加してより自由なプランを作成できます。
第1種目30秒、第2種目50秒、休憩20秒 以上の流れを×3セット!などはカスタムプランです。

## メイン画面
アプリ起動時に起動

元記事を表示

【Android】Variable is accessed from within inner class, needs to be final or effectively final

 自作の Android アプリで、画面上のボタンを押したら〇〇変数をOFFにする、というコードを作っていたら Variable 〇〇 is accessed from within inner class, needs to be final or effectively final というエラーが出た。
ONにしたい変数をグローバルにする、という簡単な対策でしたが、Android Studio で確認しました。

# 参考

[Variable is accessed from within inner class, needs to be final or effectively final – stack overflow](https://stackoverflow.com/questions/14425826/variable-is-accessed-within-inner-class-needs-to-be-declared-final#:~:text=You%20can%20declare%20the%20variable,inner%20class%20must%2

元記事を表示

OTHERカテゴリの最新記事