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

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

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
“`

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

“`kotlin:MainActivity.kt
// 実行ボタンタッ

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)

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

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

Gradle の Source Dependencies で Android Library を参照したら、ビルド不能になった

gradle の [Source Dependencies](https://blog.gradle.org/introducing-source-dependencies) 機能を使うと git の gradle プロジェクトをソースコードのまま参照出来て便利です。しかし、Android Library をソースコード参照したところ、ビルドが全くできなくなりました。

`./gradlew assemble` しても、参照先の build.gradle のタスクが一切走りません。結果として、必要なクラスが一切見つからない状態となってしまいます。

どうもエラーが内部で握りつぶされているようで、–info や –stacktrace オプションを付けても原因がまったく分かりません。

調査に挫折しかけたのですが、なにかの条件(再現できない…)で偶然 `SDK location not found.` のエラーメッセージが流れてきたため、原因が分かりました。参照先の Android Library プロジェクトで ANDROID SDK のパスが見つからず、 Android Plug

Flutterチュートリアルを咀嚼する part1 -FlutterはWidgetまみれ-

Flutterって一つのソースを書くだけでiOSもAndroidもアプリ作ってくれるんだって
すごいなー
勉強してみよう

#対象のチュートリアル

https://codelabs.developers.google.com/codelabs/first-flutter-app-pt1#0

#コピペしてできあがったもの
スタートアップ企業の名前をつけてあげるために単語二つの組み合わせをリスト化してくれるアプリ

![スクリーンショット 2020-11-17 16.02.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283826/a192fc3c-b4cb-941a-5006-90fcf9a06acb.png)

#ソースコード

“`dart:main.dart
import ‘package:flutter/material.dart’;
import ‘package:english_words/english_words.dart’;

void main() => runApp(My

Flutter実装時にお世話になったページ 2020/11/19

## なにか

毎回、同じ問題に、同じ検索して、同じページで解決してるので。。。

## “`Image.network“` や “`NetworkImage“` で画像が表示されない場合がある

特に画像が大量にある画面でたまに表示できてない画像があった。で、ログが流れる。

> ════════ Exception caught by image resource service ════════════
> Connection closed before full header was received, uri = https://xxxxxx

[Stack Overflow “Network Image – Connection closed before full header was received…”](https://github.com/flutter/flutter/issues/25107#issuecomment-655655719)

これで解決する前に、同じページの別のコメントや

[I globally overrode the Htt

AOSP system/btでEclipse IDEを使う(中途半端)


README.mdより。
### Eclipse IDE Support

1. Follows the Chromium project
[Eclipse Setup Instructions](https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux/eclipse_dev.md)
until “Optional: Building inside Eclipse” section (don’t do that section, we
will set it up differently)

2. Generate Eclipse settings:

“`sh
cd system/bt
gn gen –ide=eclipse out/Default
“`

3. In Eclipse, do File->Import->C/C++->C/C++ Project Settings, choose the XML
location under system/bt/ou

THETA Photo Dog [THETA Plug-in OLED活用]

#はじめに
リコーの[Yuuki_S](https://qiita.com/Yuuki_S)です。
弊社では[RICOH THETA](https://theta360.com/ja/)という全周囲360度撮れるカメラを出しています。
RICOH THETA VやTHETA Z1は、OSにAndroidを採用しており、Androidアプリを作る感覚でTHETAをカスタマイズすることもでき、そのカスタマイズ機能を「プラグイン」と呼んでいます。(詳細は本記事の末尾を参照)。
***
プラグイン開発ができるTHETAには、VとZ1の二種類があります。
このうち、Z1はフラッグシップ機。
1.0型裏面照射型CMOSイメージセンサーを搭載しRAW撮影も出来るスグレモノです。

これまでずっとVでプラグイン開発をしてきた自分ですが、ついにZ1を利用する機会がやってきました!
Z1を手にして、さて、どんなプラグインを作ろうかとまじまじと見比べてみます。
3世代Dagger Hilt の Context まわりでハマったこと

Dagger Hilt では、Context クラスが必要な場合のために、`@ApplicationContext`アノテーションと`@ActivityContext`アノテーションが用意されています。
[Hilt を使用した依存関係の注入  |  Android デベロッパー  |  Android Developers](https://developer.android.com/training/dependency-injection/hilt-android?hl=ja#predefined-qualifiers)
Context を使う上でハマったポイントがあったので、備忘録として残しておきます。

# 事例

例えば SharedPreferences をラップした、`SharedPreferencesWrapper`クラスを`MainActivity`で使う場合を考えてみます。

“`kotlin:MainActivity.kt
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {

@In

Flutter実装時にお世話になったページ 2020/11/18

## なにか

毎回、同じ問題に、同じ検索して、同じページで解決してるので。。。

## ContainerのBottomにだけ、枠線を入れたかった

[Stack Overflow “How to add a border to a widget in Flutter?”](https://stackoverflow.com/a/53680045)

## url_launcherでカスタムURLスキーマを使用したアプリ起動ができなかった(Android)

AndroidManifestまで意識が行かなかった。。。

[Stack Overflow “[url_launcher] When targeting API 30, canLaunch always retrurns false”](https://github.com/flutter/flutter/issues/63727#issuecomment-691066239)

## flutter upgradeしたら、ビルド通らなくなった。。。

こんなエラーが出るようになりました。

“`
Flutter Row()

HMS Location Kit Android SDKの導入方法について

#1. Location Kitの概要
[Location Kit](https://developer.huawei.com/consumer/jp/hms/huawei-locationkit)はHMSの位置情報関連のサービスを提供するSDKです。
今回はLocation Kitの機能と使用方法について説明したいと思います。

##1.1 機能
Location Kitは以下の3つの機能を提供しています。

**1. ハイブリッド測位による位置情報の取得**
**2. ジオフェンス機能**
**3. 運動状態の識別機能**

それぞれの機能の概要と使用シナリオについては以下で紹介します。

###位置情報の取得
Location KitのAPIを使用することで、ハイブリッド測位(GNSS, WiFi, 基地局)による位置情報の取得ができます。
また、東京、大阪、名古屋などの主要都市でSuperGPS機能がサポートされ、位置情報を取得する際には、ロードサイドが分かるように精度よく位置情報を取得できます。

**利用シナリオ**
・現在地の取得
・タクシー予約アプリの場合、道路のどの側