Android関連のことを調べてみた2020年11月24日

Android関連のことを調べてみた2020年11月24日
目次

【モバイル】【Chrome】画面スクロール時に Resize イベントも同時に発火されるので注意する

## 結論

タイトルそのまま。

モバイル版の Chrome(Android, iPhone 問わず)では、画面をスクロールした際に resize イベントも同時に発火されるので、注意したい。
※Safari は不明。

## 挙動

挙動自体は Chrome の仕様。

スクロールした際、 Chrome の画面上部のアドレスバーの表示・非表示が切り替わる。
それにより Chrome の画面サイズが変更するため、Resize イベントが発行されるとのこと。
詳細は以下を参照。

### 参考



– [Viewport height is taller than the visible part of the document in some mobile brow

元記事を表示

Flutterチュートリアルを咀嚼する part2 -routeとnavigator-

part1ではFlutterの概要を掴んだ
part2ではpart1で作ったstartup_namerアプリにスマホアプリによくある機能を搭載する
・アイコンの利用
・いいね機能
・別ページへの遷移

#対象のチュートリアル
https://codelabs.developers.google.com/codelabs/first-flutter-app-pt2/#0

#コピペしてできあがったもの
気に入った名前にいいねができるようになった
![スクリーンショット 2020-11-22 0.01.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283826/ca40b2c9-30b4-5c3c-2290-1537d3bd2166.png)

右上の(名前なんて言うのこれ)を押すと右にスライドしてもう一つのページが表示されるようになった
(いいねしたものだけが表示される)
![スクリーンショット 2020-11-22 0.02.48.png](https://qiita-image-store.s3

元記事を表示

#40 Kotlin Koans Builders/The function apply 解説

#1 はじめに

Kotlin公式リファレンスのKotlin Koans Generics/Generic functionsの解説記事です。

Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。

ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**

一度各自で挑戦してから、お目通し頂ければと思います:fist:

#2 [Generics](https://kotlinlang.org/docs/tutorials/kotlin-for-py/generics.html)

Generic型引数(Generic type parameter)は、呼び出し側が引数を渡すように自由に型を指定することができます。

“`kotlin:example_Generic1
class TreeNode(val value: T?, val next: TreeNode? = null)
“`

`T`がGeneric型引数に相当し、任意の型を指定します。

クラス名の横に`< T >`のように指定す

元記事を表示

【ReactNative】ExpoでAndroidのPermissonを設定する

# はじめに

Expoのアプリを利用して開発をしていると権限回りはすべて許可された状態になりがちです。
開発中はいいのですが、いざリリースをしようとするとアップロード時に何故バックグラウンドで位置情報を使うのか申請が必要だったり、GooglePlay上でユーザー不用意に情報を取得しているアプリとみなされてしまうなどの問題が発生します

基本的には公式の[ドキュメント](https://docs.expo.io/versions/latest/config/app/)通りではあるのですが、日本語訳されていないのと各パーミッションについての説明がされていないためわかりにくいです
Androidのパーミッションはあまり詳しくないため、基本的に1つずつ調べて概要をまとめますが、説明が正確じゃないなどあれば編集リクエストいただけると助かります

こちらは2020/11/23現在のドキュメントを基準にしています

# 設定方法
Expoの設定を記載する`app.json`に下記の設定を追記します(permissions以外の項目は省略しています)

“`
{
“expo”: {

元記事を表示

#39 Kotlin Koans Builders/Builders how it works 解説

#1 はじめに

Kotlin公式リファレンスのKotlin Koans Builders/Builders how it worksの解説記事です。

Kotlin Koansを通してKotlinを学習される人の参考になれば幸いです。

ただし、リファレンスを自力で読む力を養いたい方は、
**すぐにこの記事に目を通さないで下さい!**

一度各自で挑戦してから、お目通し頂ければと思います:fist:

#2 Builders/Builders how it works の解説

[Kotlin Koans Builders/Builders how it works](https://play.kotlinlang.org/koans/Builders/Builders%20how%20it%20works/Task.kt)の解説です。
随時本サイトの内容を引用させていただきます。

これまでのKoansと異なり、1~4の質問にKotlinのコードを用いて答えるという形式になっています。

#2-1 問題1について

> 1.In the Kotlin code

“`koti

元記事を表示

build.gradle : IDE から Gradle が読み込まれていることを判定する (Android Studio, IntelliJ IDEA)

build.gradle が IDE から読み込まれていることは `idea.active` プロパティで判定できます。

IDE がプロジェクトを読み込んだり Gradle Tasks リストを読み出すときには `idea.active` = “true” がセットされています。

“`build.gradle.kts
val ideaActive = (System.getProperty(“idea.active”) == “true”)

if (ideaActive) {
// IDE から読み込まれているときだけ実行したい処理
}
“`

公式のドキュメントは見当たりませんでしたが、Gradle Plugin 作成時のテクニックなどで使われているようです。

* https://github.com/endanke/kotlin-mpp-framework-skeleton/blob/86f2b6ea2c545a562a8224536a4cb6bf03a9e05d/ProjectName/build.gradle.kts#L3 などで見かけました

元記事を表示

【Android / Kotlin】RecyclerView で一覧画面を実装

# はじめに
Kotlin案件でリサイクラービューを使った際に学んだことを記事に残す。

# 作成したサンプルアプリの概要

書籍情報(dataクラスBookを作成)をリサイクラービューを利用して要素3つ(名前、値段、購入日付)を一覧表示しただけのシンプルなもの。
今回はActivityの上に一覧表示のFragmentを実装しています。

※ レイアウトはテキトーです。

– Support Libraryには AndroidX を採用
– minSdkVersion 24

# 実装

## ライブラリの導入

“`build.gradle
// ・・・省略

dependencies {
implementation fileTree(dir: “libs”, include: [“*.jar”])
i

元記事を表示

Jetpack ComposeのコードをGoogle Chromeブラウザから検索できるようにする

元記事を表示

UE4でIOS/Android用のアイコン画像を爆速で入れる

#UE4でIOS/Android用アイコンを爆速で入れよう

>https://qiita.com/Chi__no_/items/f7d9f8e943d0da0b5f80
この記事は↑の画像作成スクリプトを実行している事が前提です。

UE4は一つ一つの画像を選択する度にプロジェクトルートから辿らないと行けないから面倒くさい。。。
そんな問題を一気に解決しちゃおうって話!

一番上の記事の内容を実行するとこんな画像ファイル達が出来ると思う。
![スクリーンショット 2020-11-22 220132.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/500172/326b7275-6811-4cf4-3ab9-692752875ff2.png)

#Engineのデフォルトに設定する。

そしたらEngineのPathに行く。

Androidでは色々ファイルが分かれているから各自でやって欲しい。
参考Directory→C:\Program Files\Unreal

[Android] dumpsys を使って起動している Activity を確認する

# はじめに

Android で起動している Activity を確認するには Android 上で動作する dumpsys コマンドを利用します。dumpsys コマンドを利用すればシステム・サービスから情報を取得でき、起動している Activity の状態などを取得できます。ちなみにどのシステムサービスから情報が取得できるのかは `adb shell dumpsys -l` で確認できます。情報が取得できるシステムサービスはたくさんあります、今回はこの中の activity から情報を取得して起動している Activity を確認します。

“`shell
adb shell dumpsys -l
Currently running services:
DockObserver
GuiExtService
SurfaceFlinger
accessibility
account
activity
alarm
android.security.keystore
anrmanager
appops
appwidget
audio

モバイルアプリのアイコン画像用意するの面倒くさくない?自動化しちゃおう!

##PhotoShopでいちいち何十回も解像度を変える作業めんどくさ・・・

####AndroidとiPhone合わせるとこのくらいの画像が必要になる。

![b1d2c8bfdad903f18ac9aa668706984e.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/500172/cf87672e-ac78-75c8-2094-ef74eb5b0d95.png)

しかもiPhoneの画像は20@2xみたいな語尾を付けているからややこしい。

だからPhotoshopのスクリプトで自動化してしまおう

###まず出力したいPSDのレイヤーは全てスマートオブジェクトにして下さい。←これ重要
これを忘れると出力された画像がボケるから気をつけて!
レイヤーを右クリック→スマートオブジェクトに変換
![Inked4ec9e66d5b55a3bcdc164078007e697a_LI.jpg](https://qiita-image-store.s3.ap-

[Android]ホーム・ランチャーアプリとして起動できるようにする

Android では Home ボタンを押したときに特定のアプリを表示するようになっています。これを一般的にホームアプリやランチャーアプリと言います。例えば Microsoft Launcher などですねこれらをホーム・ランチャーアプリと呼びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/79387/cddc8f34-9a15-c62f-0abd-ac511c4c72a4.png)

ホーム・ランチャーアプリとして起動するには AndroidManifest.xml の Category に`android.intent .category.LAUNCHER` と `android.intent.category.DEFAULT` を追加します。
`android.intent.category.LAUNCHER` はこのアプリのカテゴリをランチャーアプリとするもので、`android.intent.category.DEFAULT` は暗黙的インテントを受け取れるようにするも

【DroidScript】スマホでスマホアプリを作る シリーズまとめ

##概要
DroidScriptというアプリを使うと、スマホからjavascriptベースの記述でスマホアプリを作れてしまうらしい。

DroidScriptでググっても日本語のサイトはあまりヒットしないし、Qiitaの記事もゼロ・・・面白そうなアプリなのに(´・ω・`)

以前にWEBアプリ導入の練習で「電子レンジワット数で加熱時間を換算するアプリ」を作り、今回も同じお題で練習してみたので、まとめてみた。

参照:[【GAS】電子レンジワット数で加熱時間を換算するwebアプリを作ってみた](https://qiita.com/YasumiYasumi/items/f618fcbbe8beed2db8a9)

##これまでのまとめ
[スマホでスマホアプリを作る① Hello World!](https://qiita.com/YasumiYasumi/items/10796071033a9cefc0b4)
DroidScriptの紹介と、サンプルアプリの実行。

[スマホでスマホアプリを作る② 背景やテキストの追加](https://qiita.com/YasumiYasumi/ite

【DroidScript】スマホでスマホアプリを作る④ 実行ボタン

##あらすじ
DroidScriptというアプリを使うと、javascriptベースの記述でスマホアプリが作れるらしいので、練習として「電子レンジワット数で加熱時間を換算するアプリ」を作る。

##前回までのおさらい
スピンボタンとシークバーを実装し、計算に必要なデータ入力が揃った。あとは計算するだけ。
![Screenshot_20201121-154732.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/708687/2fec0fe1-b3cd-dbfd-78cf-9f2f7971bf97.png)

[スマホでスマホアプリを作る① Hello World!](https://qiita.com/YasumiYasumi/items/10796071033a9cefc0b4)
[スマホでスマホアプリを作る② 背景やテキストの追加](https://qiita.com/YasumiYasumi/items/1569dcc891217a2c92d7)
[スマホでスマホアプリを作る③ スピンボタンとシークバ

【DroidScript】スマホでスマホアプリを作る③ スピンボタンとシークバー

##あらすじ
DroidScriptというアプリを使うと、javascriptベースの記述でスマホアプリが作れるらしいので、練習として「電子レンジワット数で加熱時間を換算するアプリ」を作る。

##前回までのおさらい
アプリ画面の作成に着手。
![Screenshot_20201121-154732.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/708687/30930e9d-2365-01f1-fd0e-e333501ffacc.png)
前回は画像の上から2行目まで作成。タイトルテキストとドロイド君を設置、ドロイド君をタップするとスマホが振動してアプリの説明がポップアップするようにした。

[スマホでスマホアプリを作る① Hello World!](https://qiita.com/YasumiYasumi/items/10796071033a9cefc0b4)
[スマホでスマホアプリを作る② 背景やテキストの追加](https://qiita.com/YasumiYasumi/items/156

【DroidScript】スマホでスマホアプリを作る② 背景やテキストの追加

##あらすじ
DroidScriptというアプリを使うと、javascriptベースの記述でスマホアプリが作れるらしいので、練習として「電子レンジワット数で加熱時間を換算するアプリ」を作る。

##前回のおさらい
ボタンをタップすると「Hollo World!」と表示されるサンプルアプリのコードを見た。
[スマホでスマホアプリを作る① Hello World!](https://qiita.com/YasumiYasumi/items/10796071033a9cefc0b4)

どうやら`lay`にパーツを放り込むことでアプリの画面をレイアウトできそう。

“`javascript
function OnStart()
{
lay = app.CreateLayout( “linear”, “VCenter,FillXY” );
app.AddLayout( lay );
}
“`
と言うわけで、自作アプリに向けてレイアウトを作成していく。

##まずは完成画面
絶望的な英語力や配置センスは気にしないでいただきたい(ToT)
![Screenshot_202011

【DroidScript】スマホでスマホアプリを作る① Hello World!

##概要
DroidScriptと言うスマホアプリがある。

javascriptを記述して、オリジナルアプリを開発できるらしい。しかもスマホで!そりゃあスマホアプリなんだからそうなんだろうけど何か衝撃。

GASを覚えたことで、javascriptなら行けんじゃね?と、ちょっと触ってみることにした。

##DroidScript
Playストアから入手可能。

サンプルコードが大量にあるためヒントは多いけど、ググっても日本語のサイトはあまりヒットしないし、Qiitaの記事もゼロ・・・操作は手探りになりそう(´・ω・`)

サンプルコードを見ると、横スクロールのゲームやらメディアプレイヤーやらある他、カメラ、メール、USBなどなど、出来ることはかなり多い。

アプリの画面をPCに表示させる方法もあって、スマホでチマチマやらなくてもキーボードでコード入力できるみたい(ちな、今回は全てスマホから操作)。

基本操作は全て無料!プラグインが豊富で、APKファイルへのビルドやブルートゥース対応など、一部のプラグインが有料になっている。

##目的
以前に、WEBアプリ導入の練習で「電子レンジワ

ConstraintLayout に新しく追加された Carousel を使ってみた

[ConstraintLayout 2.1.0-alpha1](https://androidstudio.googleblog.com/2020/11/constraintlayout-210-alpha-1.html) に Carousel というものが導入されたので、何ができるのかとどのように使うのかを書いていきます。
(Carousel は alpha1 で入ったばかりの仕組みなので、大きく変更されることがあり得ます)

## Carousel の仕組み
過去に似たような実装をしたときに書いていますが、ベースのなる状態と左右に動かした状態の 3 パターンを用意しておき、アニメーションでスワイプの動きをして中身を動かしているように見せるという方法になっています。

https://qiita.com/Nabe1216/items/0ca12aa377fc7687c9c0

## 基本的な実装
仕組みでもあるとおり、ベースとなる状態と左右に動かした時の 3 パターンの状態を定義し、それらをアニメーションさせる感じになります。

まずは MotionLayout で使う View の

Android studio:Kotlin:画面遷移

参照:

Android(Kotlin)入門講座:インテント(Intent)を使った画面遷移について

ファイル→新規→アクティビティ→からのアクティビティを作る。

Activity NameをSecondActivityなど適当につけ、中身を作る。

MainActivity.ktにまず以下をインポート

“`kotlin:MainActivity.kt
import android.content.Intent
import android.view.View
“`

なにかボタンを押したときに遷移する場合は以下のように記載。
場所はclass MainActivity : AppCompatActivity

HELP!!⇒動いたなう【Kotlin】 端末起動時にレシーバーで受けて処理が出来ない。。教えてください。

かれこれ相当な時間を要したが、未だに解決出来ず助けて欲しいです。。。

# やりたいこと: 端末起動時にアプリからローカル通知を設定し直す
Android端末は再起動すると、
セットしてたAlarmManagerの処理は揮発しちゃうんですよね。。

そこで下記記事を見ていろいろやっては見たのですが
[Android の AlarmManager を改めて整理してみる](https://qiita.com/upft_rkoshida/items/8149605f751137b4c21c)
[does Alarm Manager persist even after reboot?](https://stackoverflow.com/questions/12034357/does-alarm-manager-persist-even-after-reboot)

アプリ起動時にレシーバーで受けるところがそもそも出来ていない様です
(レシーバーでトースト表示しにかかってますが一向に反応なし。。)

プロジェクト作りなおして、端末再起動時のレシーバーでの取得部分のみ最小限でやってみたのが下