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

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

既存のAndroidアプリに組み込んだFlutterをデバッグする

# Flutterを既存アプリに組み込む

Flutter最大の魅力はマルチプラットフォーム対応です!とは言え、既存のアプリを一度に丸ごとFlutterで書き換えるのは現実的ではなく、部分的にFlutter実装の画面で置き換えていく場合が多いかと思います。詳細は公式 Docsが非常に参考になるので一度は読んでおきましょう。

https://docs.flutter.dev/development/add-to-app

# 組み込まれたFlutterのデバッグ
当然、開発中はデバッグ作業が発生しますが、Androidネイティブに組み込まれたFlutterにattachしてデバッグする方法を簡単にまとめておきます。

– Android Studio Chipmunk | 2021.2.1 Patch 1
– Flutter 2.10.4

### 0. プラグインの用意
AndroidStudioにFlutterプラグインをあらかじめインストールしておきましょう
![スクリーンショット 2022-07-04 18.13.24.png](https://qiita-image-stor

元記事を表示

UI Automator Viewerが動かなくなった(Mac)

Appiumでテストを書くことになり、レイアウトのIDなどを確認するため、久々にUI Automator Viewerを起動してみたところ…

“`
$ uiautomatorviewer
-Djava.ext.dirs=/Users//Android/sdk/tools/lib/x86_64:/Users//Android/sdk/tools/lib is not supported. Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
“`

動かない。

調べてみたところ、Java 11にしたことが原因のよう。

https://stackoverflow.com/a/54492335

リンクのコメントを参考に以下のようにスクリプトを書いた。

“`
uiautomator() {
JAVA_HOME=`/usr/

元記事を表示

JetpackCompose NavBackStackEntry – Composable のスタックとライフサイクル

Todo ページと Poke ページで遷移します。

[LocalLifecycleStateLogger()](https://gist.github.com/benigumocom/2fd18d7338228fbe4a50ce7706b920a6) をそれぞれに貼ります。

“`kotlin
@Composable
fun TodoScreen(
viewModel: TodoViewModel = hiltViewModel()
) {

LocalLifecycleStateLogger(

元記事を表示

【kotlin】Anyクラスについて

# はじめに
今回はkotlinで使われる**全てのクラスの親クラス**にあたる ”**Anyクラス**”についてまとめていきます。

# Anyクラスとは
まず、Anyクラスについてですが、前述したように Anyクラスは**全てのクラスの親クラス**です。
実際のコードでは省略されている為 目にする事は少ないです。
ですが、どのクラスでも 継承元を辿っていくと最後に辿り着くのは必ずAnyクラスです。
なので、何度も記載する通り **全てのクラスの親クラス** ということになります。

# Anyクラスの中身
Anyクラスでは何をしているのか 見ていきましょう
実際のコードがこちらです

“`
public open class Any {
〜コメント省略〜

public open operator fun equals(other: Any?): Boolean
〜コメント省略〜

public open fun hashCode(): Int
〜コメント省略〜

public open fun toString(): String
〜コメン

元記事を表示

【Jetpack Compose】Preview をもっと簡単に増やしたい場合(PreviewParameter, Multipreview Annotations)

## はじめに

Preview をより簡単に増やせる方法を学んだので、それらを備忘録としてまとめていこうと思います。

### この記事で分かること

– `@PreviewParameter` の使い方
– Multipreview Annotations の使い方

## 今回 Preview させるもの

単純にメモのリストを表示させるような、非常に簡単なもので試していきたいと思います。`Loading` 時には `CircularProgressIndicator()` を、`Error` 時には `Dialog` を表示させています。

“`kotlin
@SuppressLint(“UnusedMaterialScaffoldPaddingParameter”)
@Composable
fun ExampleScreen(uiState: ExampleUiState) {
Scaffold(
topBar = {
TopAppBar(
title = { Text(text = “Exa

元記事を表示

EditTextで範囲選択している文字をドラッグで位置を変更させることを無効化させる方法

今回はEditTextで色々制御をしていて、範囲選択している文字をドラッグで位置を変更させることを、無効にしたかったことがあったので残しておこうと思います。

# OnDragListener
“`MyDragListener.kt
class MyDragListener : View.OnDragListener {
override fun onDrag(v: View?, event: DragEvent?): Boolean {
return true
}
}
“`
View.OnDragListenerを継承したクラスを作成します。
こちらをreturn trueすることでドラッグ操作を無効化いたします。

ただし、範囲選択の範囲位置を調整するドラッグ操作は無効になりません。

あとは作成たクラスをEditTextに設定します。

“`MainActivity.kt
binding.editText.setOnDragListener(MyDragListener())
“`

これで終了です。

元記事を表示

クラウド上で実機スマホをレンタルできるRemote TestKitを触ってみた

この記事は、Qiita Engineer Festa 2022 [Remote TestKitを使ってレビューを書こう!](https://qiita.com/official-events/f0e8b25feb05af6326b3)の参加記事です。

https://qiita.com/official-events/f0e8b25feb05af6326b3

## はじめに

クラウド上で実機のスマートフォンをレンタルできるサービスがあると知って、面白そうだったので触ってみました。
また、Androidのスマホは多種多様なものが多く、Webの開発でも実際にどう見えてるのかを検証してみたいときに便利かもと思い、触ってみました。

なお、僕はネイティブアプリの開発経験はないので、Web開発の面での内容になります。

## 概要

公式の紹介動画が概要としては非常にわかりやすいです。

要約すると、クラウド上で実機のスマホをレンタルでき、今まで手元の実機で行っていた検証をクラウド上で行えるようになるというものです。