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

Android関連のことを調べてみた2022年12月18日
目次

一年で3つのハッカソンに参加してみて感じたハッカソンのメリット

こんにちは、atomicです。この記事は「[学生Androider Advent Calendar 2022](https://qiita.com/advent-calendar/2022/androider_student)」の18日目の記事です。
今日12/18で、Android開発に触れてからちょうど1年ほど経過しました。
絶賛ハッカソン参加中で2徹目の状態の私が、これを機にこの1年を振り返ってみて感想と反省を書こうと思います。

この記事を通して、ハッカソンに参加してみたいけど迷ってる人や、ハッカソンって意味あるの?って思っている人たちにハッカソンの魅力を伝えられたらと思います。

また、ハッカソン経験者の方にも私の反省で何か参考にできるものがあれば嬉しいなと思っております。

# 目次
– ハッカソンとは
– 私が参加したハッカソンについて
– 反省点・やってよかったことなど

# ハッカソンとは
本題に入る前に、ハッカソンという単語を初めて聞いた人もいるかもしれないので、簡単に説明しておきたいと思います。

ハッカソンとはハック(Hack)とマラソン(Marathon)

元記事を表示

Android StudioのLogcatにおける新しいKey-Value検索

## 概要

2022年9月15日にStable channelとなったAndroid Studio Dolphinからは、Logcatの機能が刷新されました。いくつか新しくなった機能がありますが、その中でもログの検索がKey-Value方式になったことが最も大きな変更点ではないでしょうか。

ところが、以下の公式ドキュメントには代表的な使い方しか書かれておらず、私は最初かなり戸惑いました。そこで改めてKey-Value検索で出来ることを整理し、まとめてみました。

[Android Studio Dolphin : 新しいLogcat](https://developer.android.com/studio/releases?hl=ja#logcat)
![スクリーンショット 2022-12-16 19.46.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281445/0a29981b-ab29-45b7-4d9b-575a165858ac.png)

## 使用可能なKey

ドキュメントに

元記事を表示

JUCEを使った自作Androidアプリの開発から公開まで

前略 「KBass」というAndroidアプリを作成しました。

(音がでます)

某ベースシーケンサーのようなベースラインを鳴らすことができるアプリです。

このアプリは実は

**JUCEで作成したものに広告(Admob)を挿入しています。**

公開されてダウンロード数が増えれば広告収益が見込めるようになっています。

これまでVSTなどのオーディオ系ソフトウェアを自作したとき、それでお小遣いを稼ぐには「BOOTHやgumroad、shopifyなどでデジタル販売する」という手段がほとんどだったと思います。

しかしながら、無料でも素晴らしいVSTやDAW、音声Webサービスがあふれている昨今、個人開発のVST等にお金を払ってもらうのはなかなか大変なことです。

そんななか「無料のスマホアプリとして公開し、広告を挿入する」という選択肢を実例として提示できるかもしれません。これをきっかけに収益を得るまで

元記事を表示

個人デバイスと会社デバイス向けにBoxモバイルアプリのポリシーを分ける

Boxをモバイルデバイスから利用する際、
**「同じユーザーだけど個人デバイス(BYOD)からアクセスした場合はプレビューだけ、会社デバイスからは編集もできる」**
といった制御をMicrosoft IntuneのMAM (アプリ保護ポリシー)と組み合わせて実現する設定例を紹介します。

# Boxモバイルアプリの種類
Boxのモバイルアプリは大きく分けて2種類あります。

* 標準のモバイルアプリ(以下、”標準アプリ”)
* Box for EMM

Box for EMMをMicrosoft IntuneなどのMDM/EMMソリューションから配信することで、**「アクセス元のデバイス制限 (例:会社デバイスからのみBoxにアクセスさせる)」** や、**「アクセス先のBoxテナント制限 (例:個人用Boxアカウントにモバイルアプリから接続させない)」** することが可能となります。標準アプリはBYODなど個人デバイスに、Box for EMMはMDM/EMMで管理された会社デバイスにインストールされて利用されます。Box for EMMについては以下ドキュメントをご参照ください。

元記事を表示

Android App Linksを開発環境で動作検証する方法

### 本記事の概要

Android App Linksとは、HTTP(S)をスキーマとするURLをクリックした際に、対応するAndroidアプリをシームレスに (どのアプリで開くかをダイアログで選択する必要なく) 立ち上げることを可能にする手法である。

https://developer.android.com/training/app-links#android-app-links

App Linksの導入方法に関しては、公式ドキュメントに詳しく書かれている。一方で、開発環境でApp Linksの動作確認を行う方法は明記されていない、かつやや煩雑である。

そこで本記事では、App Linksを開発環境で動作検証する際に、私が使用した方法を紹介する。大まかには以下の5ステップの作業が必要となる。

1. ローカルでのビルド時に使用される証明書のSHA256 fingerprintを入手する。
2. 上記のfingerprintを使用し、ローカル用のassetlinks.jsonを作成する。
3. Node.js (Express) 製のサーバーとngrokを使用し、ローカル

元記事を表示

JaCoCoカバレッジレポートをPRにコメントしてくれる機能が欲しい!(Codecov使えない人向け)

# はじめに
皆さんはテストカバレッジとってますか?Codecovはとても便利でしたよね!
ですが今はセキュリティ的に使えないところも多いのではないでしょうか?自分が探した限りでは代替になりえそうなものがなかなか無く[^1]、テストカバレッジを意識したレビューがし辛い状況が続いていました。
そんな状況を打開すべく、今回は外部サービスに頼らずにカバレッジ結果をPRにコメントしてくれる設定を試してみたいと思います。
[^1]: GitLabのテストカバレッジ機能は便利そうでしたが今回はGitHubで使えるものを探しました。

完成イメージは↓こんな感じ

# 1. JaCoCoの設定
※ JaCoCo設定済みの方はここは飛ばして2. GitHub Actions

元記事を表示

画像からアニメーションを作成してJetpackComposeで表示させてみる

任意の画像にアニメーションをつけてアプリ上で動かしてみたいな〜って思ったことが皆さんも一度はあると思います。(ローディング画面とか)

この記事では画像を選ぶところから実際にAndroid上で表示させるところまでをまとめたものになります。

## 画像選択
今回は、シンプルで豊富なフリーイラスト素材サイトである「[unDraw](https://undraw.co)」を使って素材を探していきます。

https://undraw.co/illustration

ダウンロード形式は`.svg`を指定しましょう。

## アニメーションをつける
「[Haiku](https://www.haikuanimator.com/)」を使ってアニメーションを作成していきます。
このソフトは2021年にオープンソース化されているみたいです。

保存した`.svg`ファイルをインポートして位置や大きさなどを調整します。
しかし、画像を追加してマウスで位置を調整するとどうしても縦と横の倍率が変わってしまいます。
![スクリーンショット 2022-12-17 18.46.02.png](https://

元記事を表示

Ubuntu 22.04 にElixirDesktopの開発環境を作成しよう

↓こちらをUbuntuで動かす方法を記述します

https://github.com/elixir-desktop/android-example-app

# 前提事項

↓こちらのElixirのインストールまで終わっている前提です

https://qiita.com/t-yamanashi/items/9cb46beed0506edf26c6

理想は実機、実機でないVM等での場合はか必ずネットワークはNATでなくてブリッジ等で接続してください
AndroidにアプリをWifi経由で転送する場合は同じネットワークアドレスでないと転送できませんでした

KVM(VM)でブリッジの設定方法はこちらです

https://qiita.com/t-yamanashi/items/b052a46863c8694a8143

他のVMでもブリッジまたは、外部接続の表記の設定があると思います

KVMで動かす時はKVMでメモリは16GB割当ないとエミュレータが起動しませんでした
# インストールをはじめましょう
「OS(Ubuntu 22.04)のインストールから初める仕事用Elixir開発

元記事を表示

Android+kotlinでPOIを使ってExcelのデータを読み取る

# AndroidでExcelのデータを読み取る
JavaでExcelやWord等のOfficeのフォーマットを扱うライブラリには[POI](https://poi.apache.org/)があります。Android+kotlinでも同様にPOIが使えます

# 何に使うの?使いみちは?
何で、今更AndroidでPOIを使ってExcelを読み込む必要がある?と思うかもしれません。google spredsheetあるんじゃない?と思うかもしれません。
Androidには色々なデバイスが付いていますが、そのデバイスがエミュレータには付いていない場合があります。Android端末実機ではなくて、エミュレータで試験する場合、そのデバイスの部分をMock化して、そのでデバイスがプロクラムに渡すデータを、デバックデータとしてExcelで定義するのに使えます。

今、私が開発しているアプリは専用のバーコードカメラの付いたAndroid端末で、バーコードを読み取るアプリを開発しています。このバーコードカメラはエミュレータにはありません。そうなると、エミュレータではデバックどころか全く動かすことがで

元記事を表示

Jetpack Composeでスタバアプリのようなスティッキーヘッダーを実装したい

# きっかけ

スタバのアプリのホーム画面をスクロールした時に、ぬるぬるっと動いて固定されるスティッキヘッダーを見て感動したので、これをJetpack Composeで表現できないかなと思い立ちました。

実際に書いてみて、それっぽいのができたので将来の自分への忘備録として残しておこうと思います。

# TL;DR

最終的なコード全体を確認したい場合は、次のリポジトリを参照してください。

https://github.com/takagimeow/sticky-header-sample

# LazyColumnとstickyHeader

スクロールしたときに、一番上に到達したらそのまま画面外にはみ出るのではなく、一番上で固定されるようなスティッキヘッダーを実装したい場合は、`LazyListScope`の`stickyHeader()`を使います。

https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyListScope#stickyHeader(kotlin.

元記事を表示

flutter_launcher_iconsでandroidとiosのアプリアイコンを登録する

# flutterパッケージ
最近flutterを使っており、なかなか使い勝手が良いと思えてきました。flutterはいろんなパッケージを利用して機能拡張できますが、中でも便利だなと思ったパッケージについて、備忘も兼ねてまとめました。
ちなみに、パッケージとプラグインの違いがわかってなかったのですが、flutterでのパッケージとは「pubspecファイルを含むディレクトリのこと」で、プラグインとはパッケージの一種で「プラットフォームで固有の機能をFlutterアプリに提供するようなパッケージのこと」らしいです。知らずにいると恥ずかしい思いをしそうなのでメモっておきます。

[Flutter/Dart]パッケージ(Package)とプラグイン(Plugin)の違いとは

## パッケージを使ってアプリアイコンを登録
開発を終えアプリをリリースする段階になると、アプリアイコンを用意すると思います。従来の開発環境だと画素数ごとにアイコンを用意したり、osごとに対応したアイコンを用意したりと、なかなか手間がかかる作業だったと記憶してます。
ですが、flutter_launc

元記事を表示

スマートウォッチをリマインダ代わりにバイブレーションさせる:その2

前回、スマートウォッチをリマインダ代わりにバイブレーションさせました。([スマートウォッチをリマインダ代わりにバイブレーションさせる](https://qiita.com/poruruba/items/f172dd99cf497761ce18))
その際に、Webページから通知できるようにするため、WebAPIを用意しました。
今回はこれを利用して、複数のスマホの通知を集約します。

そもそも、スマートウォッチが何の関係もない別のアプリの通知を受信できることを不思議に思われるかもしれません。
これは、Androidの権限の設定により、Androidスマホに来たすべての通知をハンドリングできるように権限が与えられているためです。言われてみれば、確かにそうでないと例えばLINE通知を関係のないスマートウォッチに表示させることはできないですね。

今回は、別のスマホで受けた通知を普段持ち歩いているスマホに通知するようにします。
こうすると、スマホの複数持ちをしていても、1台のスマホに通知が集約され、通知が来たことに気づくことができます。

別の場所から通知することは、前回の投稿で実現できてい

元記事を表示

AGSLで遊んでみる

https://qiita.com/keseran/items/cf4529aea92b11ae029d

前回のshader試してみたから今度は画像に処理を行ってみたのでshader触ってみたいけどわからないな〜なんて方の助けになれば幸いです。

画像に処理を加える際の数値などに関して[こちらの記事](https://ics.media/entry/5535/)を参考にさせていただきました。ありがとうございます!

この記事中ではshaderの処理だけを紹介していますが、全体を確認したい場合は[Githubにソースコード](https://github.com/keseran/AGSLSample)を公開していますので実際に動かして確認していただくことができます。

# 開発環境
– MacbookPro macOS Catalina 10.15.7
– AndroidStudio Flamingo Canary9
– Pixel6a AndroidOS 13

# x座標が100px右に進むごとにy座標を+20して階段状に表示してみました
Google CastでAndroid TVアプリをリモート起動する

# はじめに
Google Cast の典型的な利用方法は「スマホで見ていたYouTube動画をテレビで再生させる」といったものだ。NetFlixやYouTubeが開発した[DIAL](http://www.dial-multiscreen.org/dial-protocol-specification)と呼ばれるプロトコルで実現されていた機能である。ChromecastやAndroid TV(Google TV)ではGoogle Castという技術で同じような機能と実現している

Castのフレームワークを利用すると「電源オフ(スタンバイ)状態のAndroid TVのアプリをリモート起動する」ことを簡単に実現できそうなので試してみる

https://developers.google.com/cast/docs/overview

# 結論
Google Castを利用して電源オフ(スタンバイ)状態のAndroid TVのウェブブラウザをリモート起動した
Castを受け取ったサンプルアプリからstartActivity()でウェブブラウザを起動することで実現している

# 今後調査

元記事を表示

ElixirDesktop Androidを動かす – Windows11+WSL2に環境構築成功編

こんにちは!
プログラミング未経験文系出身、Elixirの国に迷い込んだ?!見習いアルケミストのaliceと申します。
今回は[ElixirDesktop android-example-app](https://github.com/elixir-desktop/android-example-app)をWindows11で実際に動かすための環境構築をしましたので、備忘録としてまとめたいと思います。

## 実行環境
Windows 11 Home(バージョン 21H2, OS ビルド 22000.1219)
WSL2 Ubuntu22.04

# ビルドに必要な条件
・Android Studioがインストールされていること。
・NDK(※Native Development Kitの略、Android で C や C++ のコードを使用できるようにするツールセット)がインストールされていること。
・git、npm、asdf がインストールされていること。
 └[前回](https://qiita.com/Alicesky2127/private/34234f456fbc3ded

元記事を表示

ElixirDesktop Androidを動かす – Windows11に環境構築失敗編

こんにちは!
プログラミング未経験文系出身、Elixirの国に迷い込んだ?!見習いアルケミストのaliceと申します。
今回は[ElixirDesktop android-example-app](https://github.com/elixir-desktop/android-example-app)をWindows11で実際に動かすための環境構築をしましたので、備忘録としてまとめたいと思います。
#### こちらはWindowsネイティブに環境構築をしようとした失敗編です。ちゃんと動いたやり方は[★こちらから★](https://qiita.com/Alicesky2127/private/5f9a1c6496b1c083720f)

## 実行環境
Windows 11 Home(バージョン 21H2, OS ビルド 22000.1219)

# ビルドに必要な条件
・Android Studioがインストールされていること。
・NDK(※Native Development Kitの略、Android で C や C++ のコードを使用できるようにするツールセット)がインスト

元記事を表示

Androidアプリ開発がちょっと楽になる Android Studio Tips

この記事は[ディップ株式会社 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/dip-dev) の17日目です??
恐ろしいことに今年もあと2週間ですね〜
## はじめに
こんにちは、@beniii0817です。今年ディップに新卒入社し、Androidアプリエンジニアとしてバイトルアプリの開発をしています。

アプリチームに配属されるまでAndroid Studioすら触ったことがありませんでしたが、まわりの方々にサポートしていただきながら日々楽しく開発をしています(感謝感激??)

今回はAndroidアプリ開発がちょっと楽になるAndroid StudioのTipsをご紹介します!
## ショートカット
よく使うショートカットです。特にアクション検索は大抵のことができるのでとても便利です。
– `⌘` + `Shift` + `A` [アクション検索]
– `Shift`を2回押す [全ファイル検索]
– `⌘` + `Option` + `l` [コードの整形]
– `control` + `R` [ビルド

元記事を表示

ML Kit Text Recognition v2で日本語認識Androidアプリ

こんにちは。短い内容で恐縮ですが、よろしくお願いします。画像が多いだけです。

# やってみたこと

– [ML Kit Text Recognition v2](https://developers.google.com/ml-kit/vision/text-recognition/v2
)を使って
– カメラアプリで撮った日本語の字をOCRっぽく認識する
– Androidアプリを作ってみました。

## NIVEA Moisture Lip

唇が渇きやすい私にとっての日用必需品。

![NIVEA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100612/8a0769b3-1915-e481-6ef8-e709a4174ed9.png)

「UNSCENTED」はどこから?と探してみたら、本体にありました。
「湿」が出ませんでした、残念。「濃」も「氵(さんずい)」が取れちゃってますね。
「ホホバオイル」も「ホfオイル」ですね、残念。
いやいや、それでも縦書きなのに認識したことがすごいです!

元記事を表示

Android 13の新機能と必要な対応について

この記事は[FLINTERS Advent Calendar](https://qiita.com/advent-calendar/2022/flinters) 2022の17日目です。

こんにちは!株式会社FLINTERSでGANMA!のAndroidアプリの開発をしています大塚です。今回は、2022年の今年にリリースされたAndorid 13(API Level 33)の新機能やアプリでの必要な対応についてGANMA! Androidアプリで対応したことを中心にご紹介したいと思います。

## 広告ID

Google Play開発者サービスの広告IDを使用し、Android 13(API Level 33)以上をターゲットとしているアプリでは、`AndroidManifest.xml`内で以下の権限を宣言する必要があります。

“`gradle

“`

アプリがAndroid 13以上をターゲットとしていて、この権限を宣言してい

元記事を表示

AndroidのChrome 99以降の通信取得手順

AndroidのChrome99以降のバージョンから通信の取得手順が増えたので簡単にメモします。

※PortSwiggerの記事に下記の記載があるためroot権限が必要ない手順を取ります。
>In addition, you need to make further configuration changes in order to proxy HTTPS traffic from a Chrome browser that’s at version 99 or above.
>For further information on how to perform these steps, you can refer to the following external links. Please note that we’re not responsible for the content of these pages:
>
>出典: [Configuring an Android device to work with Burp Suite Professional](https://

元記事を表示

OTHERカテゴリの最新記事