Android関連のことを調べてみた2021年06月02日

Android関連のことを調べてみた2021年06月02日

UE4にWiFi経由でAndroidアプリをDeployする方法

# UE4 Androidデプロイがめんどい

UE4便利なんですが、ARアプリなどを作成するとPC上では試せず、結構USB接続してDeployがめんどいわけです。

「めんどいなー」
「全人類同じこと思ってるだろうなー」
「賢い人、どうにかしてよー」

しかも、USB接続のたびに充電されて100%フル充電で、モリモリバッテリーを削っていく。

「こりゃいかんでしょ」

# 実は賢い人が既に解決していた

知らなかっただけで、Android11からはWiFiでアプリがDeployできるようになってました。

「まじで!?」

# ペア設定コードによるデバイスのペア設定

https://developer.android.com/studio/command-line/adb?hl=ja

によると、

1) ワイヤレス デバッグ 有効化
2) ペア設定コードによるデバイスのペア設定
3) デバイスへ接続

らしい。しかし、どうやらかこにUSBでデバッグを有効にしていると、自動的にWiFiもデバッグが有効になるようで、1)と3)だけでいいです。面倒な 2)はパスできます。

## 1

元記事を表示

入力制限付きEditTextへのペーストとうまく付き合う

## editTextとコピペの関係
まず前提として、数値6桁制限のあるEditTextがあります。
※以降もこの前提で話を進めます。

“` hoge.xml
android:maxLength=”6″
android:inputType=”number”
“`

この時ユーザ入力が1文字ずつなら問題ないのですが、コピペによる入力をおこなうと想定外の挙動になることがあります。

### 桁数オーバーの数値をペーストするパターン
「1234567」をペースト。
Screenshot_1622476514.png

画像の通りですが、あぶれた桁は切り捨てられます。

### 入力されている状態で、桁数オーバーになるパターン
画像左の状態でさらに「1234]をペースト。
ファーウェイのHarmony OSの技術概要

# Harmony OSとは
– ファーウェイが開発した次世代OS
– 複数デバイスを互いに接続しあうことで、リソースを共有し、スーパーデバイスを構築することが理念
– スマホ、タブレット、テレビ、腕時計、スピーカー、車、家電など、様々なデバイスに対応

# Harmony OSとAndroidとの違い

||Harmony OS|Android|
|:—:|:—|:—|
|理念|複数種類のデバイスの同時使用|単独のデバイスの使用|
|OS対象|・スマホ
・タブレット
・テレビ
・腕時計
・スピーカー
・メガネ
・車
・カメラ
・電子レンジ
・エアコン
・その他の電子機器|・スマホ
・タブレット
・テレビ|
|OSのソースコード|[オープンソース](https://gitee.com/openharmony)|オープンソース|
|IDE|DevEco Studio|Android Studio|
|開発言語|・Java
・JavaScript|・Java
・Korlin|
|レイアウト開発言

元記事を表示

iOSアプリ開発とAndroidアプリ開発で違っていて戸惑った点

## 初めに
普段iOSアプリを開発しているエンジニアです。
1ヶ月ほどAndroid開発を行う機会があったのでそこでつまづいたことをまとめておきます。
特にiOSと違っていて戸惑った点です。
## Androidアプリには戻るボタンがある。
iOSのアプリには自分で作らない限り戻るボタンはないのですが、Androidでは戻るボタンが存在します。
Webにある戻るボタンのような感じのもので特にフラグメントを使っているときは戻るボタンを押すと自分の思っていないページに飛んだりして少し、戸惑いました。
特に下記の記事と同じ問題につまづいてしまい、この記事にたどり着くまでかなり苦労しました。
https://qiita.com/tomo1139/items/62902093d1850085742d

## レイアウト作成やレイアウトとコードの紐付けが楽
これはAndroidの方が楽という意味なのですが、個人的にはレイアウトを全てSwiftもしくはstoryboardで書くiOSよりもxmlファイルにレイアウトを分けているAndroidの方が若干楽でした。(SwiftUIとかと比べると、、、と

元記事を表示

Jetpack Compose で使える便利な Live Templates

## `comp` – コンポーザブル関数を作成

![comp.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/7ab1ab72-0383-b1a2-2531-0a774fd30946.gif)

## `paddp` – paddingモディファイアを追加

![paddp.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/62d2a7de-7c9b-9b64-18b0-7f18cd830aae.gif)

## `WR` – 選択範囲をRowで囲む

![row.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/61e5e568-23fa-9659-f20d-ce9984d3da7d.gif)

## `WC` – 選択範囲をColumnで囲む

![column.gif](https://qiita-im

元記事を表示

android adb

>![](https://upload-images.jianshu.io/upload_images/47789-155ef8aaa41db25f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

### ADB是什么

ADB,即 [Android Debug Bridge](https://developer.android.com/studio/command-line/adb.html) 是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 `Unix shell`(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在`Android SDK/platform-tools`中找到 `adb` 工具或下载 [ADB Kits]( http://adbshell.com/downloads) 。

### 查看adb的版本信息

`adb version`

### 显示设备列表

“`
adb devices

List of devic

元記事を表示

【Kotlin】Fragmentでの画面遷移時に値の受け渡しを実装をする

基本的なことですがFragmentからFragmentに遷移する際に値を引き継ぐ実装を紹介します。
今回、紹介する方法は`newInstance`を用いた方法です。これ以外にも複数手順あるのでよかったら調べてみてください。
参考:[【Android】Fragment間で値をやりとりする
](https://qiita.com/m-coder/items/3a8e66d49f2830b09bf4#setfragmentresult%E3%82%92%E4%BD%BF%E3%81%86)[フラグメント間でデータを渡す](https://developer.android.com/training/basics/fragments/pass-data-between?hl=ja)

## 実装完成イメージ
初期画面で入力したテキストをボタンをタップすることで、次の画面のタイトルとテキストフィールドに設定する簡単なアプリです。

![Videotogif (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

[Android]name = “hogehoge” is translated here but not found in default localeが起きた時

#解決策
黙って再度展開(File -> Close Project)

元記事を表示

root起動したNoxPlayer上のアプリにlldbを使ってattachする

# tl;dr
– ホストPCのポートにNoxPlayer上のAndroidのadb_serverがforwardされており、adb connectで接続できる。
– lldb/gdbするにはadbでport forwardする。
– Root化起動を有効にすれば手軽に任意のプロセスにattachできる

# モチベ
NoxPlayerはroot化起動が簡単に出来るのでReverseEngineeringの道具にできるのではないか。
rootでlldb-serverを起動したら任意のアプリ/プロセスをデバッグできるのでは→できた

# 手順

## Noxのセットアップ

1. 普通にイメージを作る
今回はAndroid5(Lollipop)を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132033/7eb7eb72-78b9-d127-b297-791d87ba0554.png)
1. システム設定→基本設定→Root化起動をONにしておく
1. 起動しておく

##

元記事を表示

【Kotlin】MVVM + RxJava + RetrofitでQiitaの記事を取得するアプリを作成してみた

自分自身の設計の勉強を兼ねてMVVMでQiitaの記事を取得するだけの簡単なアプリを作成しました。(https://qiita.com/api/v2/docs#%E6%8A%95%E7%A8%BF)

## MVVMとは

– Model
– View
– ViewModel

の3つから構成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/484337/37d59285-4011-c3f1-1552-77723fa80f72.png)

View層 → ViewModel層 → Model層といったような依存関係があります。
Model層はViewModelやViewに関心がなく(Viewの種類に関わらず同じ処理を行う→Viewに依存しない)、ViewModel層はViewに関心がありません。

参考:[【Android】2020年からの MVVM【実践】](https://qiita.com/sdkei/items/a48ae24536562ed000b3)

## 実装完成

元記事を表示

Androidアプリのパフォーマンス ②改善(Map、Set)

この記事では、Androidアプリのパフォーマンス改善のための、方法について記載します。

### 改善対象
MapやSetを特定の条件で絞りたい場合、filter関数を使うことがあると思います。
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter.html

filterはとても便利な関数ですが、パフォーマンスとしては注意が必要です。

### 計測
1から100までのキーを持つMapから、キーが91以上のマップをfilterする場合、JUnitで処理時間を計測したところ、10000回の平均値で、**26,731ns**でした。

“`kotlin
companion object {
private const val MAP_SIZE = 100L
private const val NUMBER_OF_MEASUREMENT = 10000
}

@Test
fun mapTest() {
val map =

元記事を表示

[Android]初めての公式ドキュメント

#対象者
ドキュメントを読みたい人
ドキュメントを読もうとしても英語の羅列でなんの情報かが分からないという人
#構成について
みんな大好きAlertDialogのドキュメントを元に解説していきます。

https://developer.android.com/reference/android/app/AlertDialog

#AlertDialog
###public class AlertDialog extends Dialog implements DialogInterface
これは、クラスの定義です。
Dialogクラスを継承し、DialogInterfaceを実装していることがわかりますね。

###java.lang.Object
↳ android.app.Dialog
↳ android.app.AlertDialog

これは、継承の家系図的なものがパッケージまで書かれています。
###Known direct subclasses
これは、AlertDialogのサブクラスについて紹介されています。
###A subclass of Dia

元記事を表示

AndroidによるmTLS接続方法について自分用メモ

## mTLSとは
ざっくり言うと双方向で行うTLS認証である。

詳しくは[こちら](https://milestone-of-se.nesuke.com/nw-basic/tls/mutual-tls-token-binding/)

## 必要なもの
– android側
– クライアントの秘密鍵
– クライアント証明書
– サーバ証明書のルート証明書

– サーバ側
– サーバの秘密鍵
– サーバ証明書
– クライアント証明書のルート証明書

## 接続方法

1. クライアントの秘密鍵・証明書の生成

生成方法はこちらの記事を参照

– https://tech.at-iroha.jp/?p=734
– https://android.benigumo.com/20201130/keytool/
– https://qiita.com/KNaito/items/66dc67e15b71f2bb1f98

1. サーバ側の秘密鍵・証明書の生成

AWSやGCPで行うのであれば、

– https://aws.amazon.com/jp/about-a

元記事を表示

Pepper SDK入門(28) BaseChatbotで何でも言うことを聞いてくれるPepper

#はじめに
BaseChatbotとは、Chatbotの実装において必ず継承される抽象クラスです。
[Chatbotの回](https://qiita.com/kskrin/items/3f02aa8f55e3e52aac84#qichatbotbasechatbot)でも一瞬だけ触れましたね!
Chatbotでは会話に終始していましたが、Chatbotの親クラスであるBaseChatbotを利用することでPepperの全身を生かしたリアクションも可能になります?

以下の動画に登場するPepperは、今回オリジナルで作成するサンプルアプリを使用しています??