Android関連のことを調べてみた

Android関連のことを調べてみた

flutterのandoirdアプリを内部テストしようとしたら起動できなくて泣いちゃった。。。

## 事の背景
昔、公務員として土木業界で働いていたのですが、当時の現場作業を簡略化できるアプリを作りたい、、、
そう思い経験0のFlutterに手を出してみた。
いざ、リリースに向けて内部テストでabbファイルをアップロードするも、スマホにインストール後「開く」ボタンが出てこず起動できない。。。
私が愛してやまないflutter cleanコマンドと とビルドを繰り返すも全く解決せず、ということで本当に泣きかけていた。

## 結論
AndroidManifext.xmlファイルの は、初期から追加する際は別タグを用意する必要がある。
助けてくださったサイトはこちらです、、、本当にありがとうございました!!!!
https://note.com/chute/n/n75cde5f1712a

## 症状の詳細

こちらではgoogle play consoleの詳細は省く。
内部テストでリリースしたアプリのURLをスマホで開き、アプリをインストール。
![image.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

android端末で開いてるWebのデバッグ方法

# はじめに
今回はAndroid端末で検証している時にWebViewで表示しているサイトの情報やコードを見れる方法を紹介していきます
### 本文
androidStudioを開いているPCのChromeで下記のサイトを開くだけです
“`
chrome://inspect/#devices
“`
そうすると画像のような表示が出てきますRemoteTargetに接続している端末が表示されるのでそれを選択することでWebViewの情報などを見ることができます
![スクリーンショット 2023-12-31 12.04.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638092/4c3b61b1-eac4-7863-bc11-95983ced7ee5.png)
### 最後に
今回は自分の備忘録としての役割が強いですが、WebView内の通信や情報を監視する方法を紹介してみました
どなたかのお役に立てれば幸いです

元記事を表示

ThingsBoardをDockerでインストール

前回の投稿からの続きです。読んでなくても大丈夫ですが、読んであると、より理解しやすいです。
ThingsBoardは、IoTを扱うためのプラットフォームです。Androidのスマホをもってあちこち歩いているときに、バックグラウンドで位置情報を取得して、このThingsBoardで位置情報を保存・可視化することが目的です。

(参考)
[Androidのフォアグラウンドサービスで位置情報を取得する](https://qiita.com/poruruba/items/aa02207080a390e1ac85)
[CasaOSで自分NASを構築する](https://qiita.com/poruruba/items/03f7179c9e370bfdd5ec)
[Nginx Proxy Managerを使ってワイルドカードSSL証明書を作成する](https://qiita.com/poruruba/items/13ec1d93b27a43359ea5)

# CasaOS上から、ThingsBoardをインストール

CasaOS上からDockerを使ってThingsBoardをインストール

元記事を表示

osmdroidを使ってMapを表示してみる

MatsuribaTech(祭り場Tech) Advent Calendar 2023 25日を担当しますはるちろです!!
よろしくお願いします。

# はじめに
皆さんはAndroidでMapを使用したことはありますでしょうか?
基本的には、AndroidでMapを使うなら、GoogleMapを使えばAPIもたくさんあるし、記事もたくさんあって便利なのだが、いちいちAPIKeyを用意したりするのがめんどくさいと思います。
そこで、オープンソースのマップを使うとKeyの設定などが必要ないため、初期設定なしで使用することができる。
したがって、今回はオープンソースのMapを使用してみた所感と使用方法をまとめてみようと思う。

# 自分が知っているオープンソースのマップ

オープンソースでできているMapは世の中にたくさんあります。
その中で自分が知っているMapを少しまとめてみようと思います。

### leaflet
実際便利そうなのだが、JSのライブラリということもあり、Androidのネイティブに対応したAPIはなさそう。
いちいちWebViewを使って、JSを用いて操作するのは流

元記事を表示

Composeで縁取り文字を描画しよう

# 縁取り文字とは

文字の色とは違う色などで縁取られた文字列のこと。

https://x.com/m4kvn/status/1740465324414411201?s=20

# 実装

縁取り文字を実現するためには、なるべくならComposeで提供されているTextをそのまま使えると嬉しい。ということで、ここではComposeのTextをベースとして実装する。そのためまずはTextを拡張するためのComposableとしてOutlinedTextを定義する。TextをラップするようなComposableを定義する際には、TextStyleを受け取るようにしておこう。

“`kotlin
@Composable
fun OutlinedText(
text: String,
modifier: Modifier = Modifier,
textStyle: TextStyle = TextStyle.Default,
) {
Text(
text = text,
style = textStyle,

元記事を表示

Androidアプリをリリースし広告収入を得るための手順

# はじめに
最近Android向けアプリをリリースし広告収入(リアルに1円ですw)を得たので、そこまでの流れを整理しようと思い投稿

ちなみに・・・
今日のご飯をスワイプで簡単に決めるアプリを作りました↓
https://play.google.com/store/apps/details?id=com.teamdelta.mealmotion

# 手順
ひとまず私が実施した手順を示します。

1. アプリの内容を決める
1. google abmobにアカウントを登録する
1. play consoleにアカウントを登録する
1. アプリを開発する(applicationIDには注意!)
1. リリースビルドを作成する
1. アプリ情報をplay consoleに登録し審査に送信する
1. google admobのapp-ads.txtを公開する
1. リリース後、google admobにアプリを登録する

次に、各手順について説明していきます。

# 1. アプリの内容を決める
これは説明不要だと思いますが、まずは作るアプリの内容を決めましょう。

# 2. google

元記事を表示

【簡単】GitHub ActionsでGoogle Play Consoleへのアプリリリースを自動化してみよう!

# はじめに
この記事では、GitHub ActionsでGooge Play ConsoleにAndroidアプリをアップロード・内部テスト公開をし、内部テスターがテストできるようにする方法について記載します。
ライブラリのオプションに指定する値を変えれば、製品版へのリリースも可能です。
ストア情報の作成やビルドなどを手動で行うのは手間もかかる上ミスも発生しやすいので、できる限り自動化をしていきましょう。

# 前提
* 内部テストへのリリースについて記載します
* ビルド物(apk, aab)はPlay Storeにアップロードするstepの前にビルドされており、任意のディレクトリに保存できていること(つまりビルド方法については割愛します)
* ジョブが異なる場合はArtifactを利用するなどして、 ビルド物を参照できるようにしてください。
* ライブラリはapkにも対応しているようですが、ここではaabとして記載していきます。

# 今回使うライブラリ
[r0adkll/upload-google-play](https://github.com/r0adkll/uplo

元記事を表示

PWAをAndroidのPlay Storeに公開するときにつまづいたこと

PWAはPlay Storeに公開することができます。そのための手順自体は「pwa play store」とかで検索すると結構出てきます。

今回は、そのなかでつまづいたポイントをまとめたいと思います。

##### 作ったものたち↓
PWA: https://lp.tuzuriba.com/
Play Storeに公開したアプリ: https://play.google.com/store/apps/details?id=com.tuzuriba.twa

## 起きた事象
アプリの審査で「ウェブ表示スパムやアフィリエイトスパムに関するポリシーへの違反」というようなメッセージを受け取りました。違反しているというポリシーの内容も、それを回避するための解決策も、この文面だとよくわかりませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2289954/04cd694c-35de-7ea3-8ed6-936e1efbce6e.png)

## 原因(と思われるもの)
webアプリの

元記事を表示

Androidのフォアグラウンドサービスで位置情報を取得する

Androidのフォアグラウンドサービスを使ってバックグラウンドで位置情報を取得します。
最初に伝えておきますが、あくまで個人用途での使用であり、自身の散策履歴を保存することを想定しています。
最終的には、以下の構成を目指します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/2f3f2bc0-4a07-da23-a52d-e407a67484ef.png)

今回は、左下のAndroidアプリケーションの部分の説明です。

とりあえずソースコード類は以下のGitHubに上げておきました。

poruruba/LocationRecorder

https://github.com/poruruba/LocationRecorder

(参考)
[Androidのフォアグラウンドサービスで位置情報を取得する](https://qiita.com/poruruba/items/aa02207080a390e1ac85)
[CasaOSで自分NASを構築する](https:/

元記事を表示

Flutter × FCMでpush通知(Android)実装メモ

Flutterでpush通知を実装したのですが、
モバイルアプリやFirebaseの経験がない状態だと、
関連情報が多すぎて全体像が掴みにくい印象を持ったので、開発の流れのメモです。

## ステップ1. FirebaseプロジェクトにAndroidアプリを追加する
こちらのサイトが分かりやすかったです。
週間Flutter大学:https://blog.flutteruniv.com/flutter-firebase/#toc9
リンク先の”2-7 Firebase の初期化と設定”まで進みます。

## ステップ2. FlutterにFirebaseプラグインをインストール&設定する
FirebaseプラグインをFlutterにインストールします。
これは公式の通り。
AndroidManifest.xmlのどこに書くかが分かりにくいです。chatGPTに聞くといいです。
Firebase公式:https://firebase.google.com/docs/cloud-messaging/flutter/client?hl=ja#install_the_fcm_plugin

元記事を表示

AndroidでL2CAP

# AndroidのL2CAPサポートについて
Androidでは、Android 10でCoCがサポートされました。

https://developer.android.com/about/versions/10/features?hl=ja#bluetooth-le-coc

従来のBLEでは、クライアントからサーバーに分かれて、少量のデータ転送やデータ通知でコミュニケーションを行ってましたが、BLE CoCでは、接続が確立されたまま、大容量なデータを連続的に送受信できるものになります。

AndroidのBLE CoCを担うものとして(おそらく)L2CAPがAPI 29から追加されているので、その使い方を説明します。

# AndroidでL2CAP接続を確立してデータを送信する
Androidから、他のデバイスへL2CAP接続を行うためには、まず対向の端末をL2CAPとして接続し、データ交換のための `BluetoothSocket` を取得する必要があります。

Androidが他端末に接続する場合、またはAndroid端末でL2CAPチャネルを開いて接続を待ち受ける場合、

元記事を表示

[Android] BottomSheetDialog にフッターを設定する

この記事は [Android Advent Calendar 2023](https://qiita.com/advent-calendar/2023/android) 24日目の記事…です。

## フッターを設定する
レイアウトファイルでいい感じに設定する…のはできないので、フッターの位置を計算して表示する必要があります。

`addBottomSheetCallback`でスライドしたことをハンドリングすることができます。

“`kotlin:FirstBottomSheetDialogFragment.kt
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val bottomSheetDialog = BottomSheetDialog(requireContext())
val fullScreenHeight = getFullScreenHeight()

bottomSheetDialog.setOnShowListener { dialog ->

元記事を表示

Androidアプリ「Habitter」をリリースしました【個人開発】

## はじめに

個人開発したAndroidアプリ「Habitter」をリリースしました!

Androidアプリのリリースは今回で5回目になります。

この記事ではリリースしたアプリの紹介や制作した経緯、今後の課題などについて書いていきます。

## 目次
1. リリースしたアプリ「Habitter」について
2. 制作した経緯
3. 使用した言語・データベース
4. 今までのアプリ開発で感じた課題とその解決策
6. おわりに

## リリースしたアプリ「Habitter」について
#### リリースしたアプリ

* Habitter:推しが習慣化を応援!習慣管理アプリ、習慣化

#### アプリの概要

推しが応援してくれているような気分を味わえる習慣管理アプリです。

習慣ごとに推しの画像や推しに言ってほしいコメント、テーマカラーを設定することができ、習慣継続のモチベーションが高まります。

「やる気が出ないことでも

元記事を表示

Compose multiplatformで作ったデスクトップアプリを実行可能な形にする

# やりたいこと
ComposeMultiplatformを使ってアプリを作成し、そのアプリを実行可能な形でビルドしたい。

# 手順
今までgradleコマンドでrunにしていたところをpackageに変えるだけ。
例えばComposeApp:run→ComposeApp:package

ただし自分はボタンからやりたかったので
AndroidStudioのBuildConfigurationsからプラスボタンを押してGradleを選択。
以下のような設定を書き込んでApply。
![](https://storage.googleapis.com/zenn-user-upload/41e335c0cef0-20231225.png)

# エラーが起きた
>Failed to check JDK distribution: ‘jpackage’ is missing

というエラーが出た。
しかし
>jpackage –version

したところちゃんと入っている。

# 解決策
Android StudioのSettingからBuild. Execution, Deploym

元記事を表示

N予備校 Android アプリで Android 14 の「写真と動画への部分的なアクセス権を付与する」に対応した話

#

[N予備校 Android](https://play.google.com/store/apps/details?id=nico.ed.nnn.zane&hl=ja&gl=US&pli=1) チームでテックリードをしている鎌田です。
本記事は [Android Advent Calendar 2023](https://qiita.com/advent-calendar/2023/android) の 25 日目の記事です。
2023 年 10 月、[Android 14](https://developer.android.com/about/versions/14) がリリースされ、今回も様々なアップデートがありました。
その中でも`N予備校` Android アプリでは、[写真と動画への部分的なアクセス権を付与する](https://developer.android.com/about/versions/14/changes/partial-photo-video-access)について対応する必要がありました。
本記事では、「写真と動画への部分的なアクセス権を付与する

元記事を表示

Azure Maps をAndroidで使ってみる

この記事は[NTTテクノクロスアドベントカレンダー2023](https://qiita.com/advent-calendar/2023/ntt-tx)、シリーズ 2 の25日目の記事です。

こんにちは、NTTテクノクロスの中島進也([なかしょ](https://twitter.com/nakasho_dev))と申します。
シリーズ 2 の1日目の記事では[よりよいペアローテーションを求めて](https://qiita.com/nakasho-dev/items/7acd356a06677177848b)という記事を書きました。
本記事ではAzure MapsをAndroidで利用する方法について自分で学習しながら紹介していきたいと思います。
本記事を書く時点で私のAzure Mapsの利用経験は0です。

## Azure Maps とは?

[Azure Maps](https://azure.microsoft.com/ja-jp/products/azure-maps)はインテリジェントな位置情報対応およびマップ ベースのエクスペリエンスを構築することを可能にする一連の

元記事を表示

Android の Gboard で全角チルダを入力する「さまぁ~ずハック」

# 波ダッシュと全角チルダ

全角の「から」としてよく用いられる記号には、「波ダッシュ」と「全角チルダ」の2種類が存在する。

[波ダッシュ・全角チルダ問題 – とほほのWWW入門](https://www.tohoho-web.com/ex/dash-tilde.html)

「波ダッシュ」は[MDNでは好まれる](https://github.com/mozilla-japan/translation/wiki/Editorial-Guideline)が、フォントとして「MS ゴシック」を設定した[サクラエディタ](https://sakura-editor.github.io/)では太い不自然な表示になり、SJIS では保存できないとみなされる**特殊な記号**である。

一方の「全角チルダ」は、フォントとして「MS ゴシック」を設定したサクラエディタで普通の表示になり、SJIS での保存も普通にできる**普通の記号**である。

![波ダッシュと全角チルダ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

FlutterアプリのUIテスト自動化を取り組んでみた話

この記事は、[テスト自動化の成功事例を語ろう by T-DASH Advent Calendar 2023
](https://qiita.com/advent-calendar/2023/t-dash02) の8日目です。

# はじめに

Flutterアプリを趣味で作っていて、UIやLintなどのテストを自動化するCI/CDを一度やってみたくて、この度取り組んでみました。
今回は様々あるテストの中でも、UIのビジュアルテストに取り組んでいきます。

毎度デグレしていないかアプリのUIを見て触って確認するのも大変ですしねぇ。
ではやっていきましょう。

# 今回実施するテスト

## Golden Test

FlutterのGolden TestはFlutterフレームワークで使用されるUIコンポーネントやWidgetのビジュアル外観をテストするためのアプローチの一つです。
Golden Testにより、UIが期待通りに変更やレンダリングされていることを確認することができます。

Golden TestはGolden Fileと呼ばれる正しいUIの画像ファイルと、スクリーンショッ

元記事を表示

Google Playストアでアプリ開発者の氏名、住所が公開されることになります

## 今後、Google Playストアでアプリ開発者の氏名、住所が公開されることになります
 デベロッパーアカウントで収益化を有効にしている場合、アプリページ上で開発者の氏名、住所が公開されることになります。
現時点では新規にデベロッパーアカウントを作成した場合のみに適用されています。

## 無料アプリだけを公開している開発者の氏名、住所は公開されない?
 収益化を有効にしていないデベロッパーアカウントについては現在、どのようになるか検証を行っていないため未知数です。しかし、デベロッパープロフィールの住所の項目には「収益を行うことを選択した場合は正式な住所の全体が公開されます。」と説明があるので収益を行っていなければ公開されない可能性があります。

## 公開されていることをどのように確認したのか?
 新規にデベロッパーアカウントを作成し、既存デベロッパーアカウントから広告のみのアプリを移行し公開することで確認を行いました。新規デベロッパーアカウントは収益化を行うように設定されています。

## どのように表示されるの?
 下画像は実際にどのように表示されるかPC上のブラウザから

元記事を表示

盗まれても安心(?)Android端末管理(前編)

後編:

## 最近のお話
いつものようにゴロゴロしながらX(旧twitter)を眺めていると[「デモに紛れて強奪が発生。Apple Storeが襲撃された」](https://news.tv-asahi.co.jp/news_international/articles/000317657.html)というセンセーショナルな記事が目につきました。
しかしながら自分の居住地は日本。対岸の火事よろしく「大変そうだなぁ」なんて思っていたところ
続報で[「強奪されたiPhoneは遠隔操作ができるようになっている」](https://front-row.jp/_ct/17367545)との情報が目に飛び込んできました。

日本でも物騒なニュースが見られる昨今。
いつ何時、暴力が支配する弱肉強食の世界へと変貌するやもしれません。
ヒャッハーと言いながらスマホを強奪していくモヒカン頭が現れる可能性もあります。
そんな時 **「盗られても安心。そうiPhoneならね」** と、Apple最強卍みたいになるのは避けなければなりません(Android狂信者)

というわけで、 **Androi

元記事を表示

OTHERカテゴリの最新記事