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

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

[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は、今回オリジナルで作成するサンプルアプリを使用しています??