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

Android関連のことを調べてみた2021年10月01日
目次

エラーの対処方法: Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

このようなエラーが出てアプリの実行ができなかった時の対処方法です。

– Android Studio にて「File > Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK」の設定を1.8から11に変更する
– Android Studioを再起動する

以上です。

元記事を表示

Android, Kotlin: JavaMailでメール送信 (gmail)

メール送信をするAndroidアプリを開発しましたので、最低限の実装を記録しておきます。
gmailにてメール送信する際の設定もあわせて記載します。

この2つの記事を参考に作成しました。

– https://qiita.com/Rabbit_Program/items/9df03bf2c1885561a5bd
– https://it-engineer-info.com/language/android-app/2142/

## gmailの設定

gmailはAPIで送信することが推奨されているらしいですが、今回はSMTPでという要件でした。
その際はgmail(googleアカウント)の設定にて「安全性の低いアプリのアクセス」を有効にする必要があります。

1. https://myaccount.google.com/ にアクセス(対象のアカウントでログインする)
1. 「セキュリティ > 安全性の低いアプリのアクセス」を有効にする

## JavaMail のインストール

Android Studio のgradleにJavaMailを追記します。

“`gra

元記事を表示

公式トレーニング「Android Kotlinの基礎」について

`Android Jetpack`の入門として[公式サイト](https://developer.android.com/jetpack?hl=ja)で紹介されているチュートリアル「[Android Kotlin の基礎](https://developer.android.com/courses/kotlin-android-fundamentals/overview?hl=ja)」を紹介します。

この記事は何かしらAndroidアプリ開発の入門書を読み終えたくらいの方向けに書いています。
このチュートリアルから学習をスタートすることはお勧めしませんが、Androidの実践的な開発で用いられる要素技術が広く紹介されているので学習の次のステップとしては非常にお勧めできる内容です。

ただ内容は結構ボリューミーで、**10個のレッスン、計33個ものコードラボで構成されています**。
英語読み込みながら全部マジメに取り組むと相当時間かかりま。

内容はすべてサンプルアプリを作りながらのハンズオン形式ですので手を動かしながら学びたい方には合っているかと思います。
この記事では各章で作成する

元記事を表示

Material Youのサンプルアプリを触ってみる

#はじめに
こちらの記事はGoogle I/O 2021で発表された『Material You』のAndroid向けサンプルアプリについての記事になります!
そもそもMaterial Youとは? という方向けの記事も書いてますので、よろしければ[こちら](https://qiita.com/t_nana/items/5f78377346030cb484fd)をご覧ください

#サンプルアプリの取得
##動作環境
・ M1 MacBook Pro
・ Big Sur 11.4
・ Android Studio Arctic Fox
・ Pixcel 3a / Andorid12(ベータ版) 

※確認端末はエミュレータでも構いませんが、Android12が入っていることが前提になりますので、ご注意ください

##GitHubからclone
material-components-androidの中にサンプルアプリ『Catalog』がありますので、そちらを取得しに行きます。
以下のコマンドをターミナルで実行してください。

“`
git clone https://github.com

元記事を表示

Unity2019.4 + Android11でビルドエラーになったときの対策

## 経緯/現象

**Unity 2019.4 (LTS)** を使用して、とあるサンプルプロジェクトを **Android 11 (Pixel 4a(5G))** 上でBuild and Runしようとしたところ、以下のようなエラーダイアログが表示され、Android実機での実行に失敗した(実行できなかった)。

> Unable to start ADB server. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details.

使用環境は以下の通り。

* PC
* Windows 10 20H2
* Unity 2019.4.30f1
* Unity HubからUnity 2019.4をインストールする際、**Android Build Support**にチェックを入れてAndroid SDKのモジュールもインストール
* 実機
* Google Pixel

元記事を表示

Jetpack Composeのrecompose後。GlobalSnapshotへの適応のコードリーディング

https://qiita.com/takahirom/items/0e0a3559d95b49399c3b

の続きです。

今度まとめた記事を書く予定なので、この記事は読まなくていいです。

前回までで、recomposeの実装を読んでいくことができました。
これからSlotTableに反映していくところ
つまり3から4の間あたりをみていきます。

1: recordComposerModificationsLocked() を呼ぶ。Recomposer.snapshotInvalidationsを見て、IdentityScopeMapを使って変更点に対しての影響を受けるスコープを取得し、Recomposer.compositionInvalidationsやComposition.invalidationsというフィールドに変更を入れる。
2: compositionInvalidationsをtoRecomposeに入れる。
3: toRecomposeに対して、performRecompose(composition, modifiedValues)、(内部でdoCompos

元記事を表示

抵抗値のカラーコード表は二度と見たくないので、PyTorchでリアルタイムに物体検出をして抵抗値を計算してくれるスマホアプリをリリースしてみた

## これは何

スマホをかざすと、AIがリアルタイムに物体検出を行い抵抗値を判別してくれる抵抗値AI計算機というアプリを作成しました。

logo
Google Play で手に入れよう

元記事を表示

AlertDialogのカスタマイズその3:コンテンツエリアのカスタマイズ

`AlertDialog`について[引数を渡す方法](https://qiita.com/kame_yang/items/67978aa3cde688443cf5)と[戻り値を受け取る方法](https://qiita.com/kame_yang/items/435535850e47defc6b53)についてそれぞれ書きました。
今回はコンテンツエリアをカスタマイズする方法を紹介します。

# コンテンツエリアとは
`AlertDialog`は`タイトル`、`コンテンツエリア`、`アクションボタン`の要素で構成されています。
下図の赤い枠線で囲っている部分がコンテンツエリアですね。
通常はメッセージが表示されます。
01.png
今回はコンテンツエリアをスコープとしていますが、タイトル、アクションボタンも独自にカ

元記事を表示

【Kotlin】 LicenseToolsPluginを利用したOSSライセンス画面の実装

## 初めに
Androidアプリを作成するにあたって、たくさんのライブラリを利用するかと思います。
著作権的な観点から、それらのライブラリを一覧にして表示する必要があります。

LINEやインスタでも以下のように形式は違いますが表示している画面があります。(普段は目にしませんが)

| LINE | Instagram |
| —- | —- |
| | |

このような形式の表示方法は公式([Include open source notices](https://developer

元記事を表示

Kotlinでアプリがバックグラウンドからフォアグラウンドのタイミングで処理を実行するには

### Activityで行う場合
Androidのライフスタイルに従い `onResume`を呼び出して記述するだけです。

“`
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}

override fun onResume() {
super.onResume()
Toast.makeText(baseContext, “フォアグラウンドから戻ったよ”, Toast.LENGTH_LONG).show()
}
}
“`

元記事を表示

AndroidStudio2020.3.1で日本語が文字化けする

## はじめに
AndroidStudioを2020.3.1にバージョンアップしたら、コミットメッセージ等に含まれている日本語が文字化けしまくったので直し方メモです。

## 環境
– macOS version:10.15.7
– AndroidStudio ArcticFox(2020.3.1)

## 手順
1. AndroidStudio => Preference を開く
![Preference](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740646/014f9995-2490-2565-64a9-53f8cc439be5.png)

2. Appearance & Behavior => Appearance を開き”Use custom font”のチェックを入れる。
![useCustomFont](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740646/353367e6-01ef-6a45-932f-3b5

元記事を表示

Google Play Consoleで署名したアプリをダウンロードする方法

aab対応したアプリで且つ、Google Play Consoleでの署名管理に変更したため、
リリース前の検証用にGoogle Play Consoleで署名したアプリをダウンロードする方法を記載する。
(play store版からの上書きインストール検証に使用してます)

## 手順
1. aabファイルをアップする
 App Bundle エクスプローラ > 新しいバージョンをアップロード
![スクリーンショット 2021-09-29 0.41.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130708/00c2662e-8cf4-6183-16aa-703ea95cfee2.png)

2. アップロードが完了したら、画面右上のaabファイル名をタップし、ダウンロードしたいバージョンに切り替える。
 ダウンロード > 署名済みのユニバーサルAPK > 右側のダウンロードアイコンタップ
![スクリーンショット 2021-09-29 0.43.38.png](https://qiita-ima

元記事を表示

AndroidでFirebase Authenticationを利用してGoogle認証ログインする

#はじめに
Firebase Authenticationを設定する記事や、Google認証でログインする実装を書いた記事はたくさん見かけるのですが、結局、何を設定して実装すれば出来上がるのか通しで書いてある記事がなかなか見つけられませんでした。
様々な記事を参考にしてGoogle認証でログインするところまで実装することは出来たのですが、途中でエラーで躓いたり、色々な調査をしたりと、ちょっと大変でした。
そこで改めて今回の記事で、プロジェクトの設定から実装、そしてGoogle認証の実行が出来るところまでを通しで書いていきたいと思います。
#Firebase Authenticationとは
パスワード認証やOAuth2に対応したフェデレーションIDを使った認証をアプリケーションに組み込む事ができるサービスの一つです。このサービスを利用する事で、簡単に、そして無料でユーザー認証の機能を実現する事が出来てしまいます。
今回は、特にその中でもユーザー操作が簡単なフェデレーション認証の1つ、Google認証を利用したログインの実装について投稿したいと思います。
Androidアプリに組み込む場

元記事を表示

Google I/O 2021 Material Youについて

# 前身となったMaterial Design
– Googleが推しているデザインのガイドライン
– ユーザエクスペリエンスを向上、統一させるためのもの
– Androidだけではなく、WebやiOSなど様々なプラットフォーム向けにライブラリが用意されている
– どのサービスでもユーザエクスペリエンスを共通にすることで、ユーザが直感的に操作できるようになる
– 同じくGoogleが提供しているクロスプラットフォーム開発に用いられるFlutterもUIパーツはMaterial Designに準じたものになっている

Material DesignはWebサイトにてガイドラインが公開されているため、誰でも学ぶことができるものになっている。
詳しくは[こちら](https://material.io/design/introduction)!

# Material You
GoogleI/Oにて発表されたMaterial Designの流れを汲んだ新しいデザインフレームワーク。
今後全てのGoogle製品で採用されていくらしい。

Android12からMater

元記事を表示

selectableItemBackgroundBorderless が効かない場合の対処法

## 概要

Viewのサイズをはみ出した ripple エフェクトを適用したい時に便利な `selectableItemBackgroundBorderless` は、特に親のViewGroupが `ConstraintLayout` である場合に ripple が出ないといった意図しない挙動をすることがあります。

根本的な解決策を見つけるまでに時間がかかったので、自分用に調査したメモをまとめておきます。

## 結論

`selectableItemBackgroundBorderless`が効かない場合は、`selectableItemBackgroundBorderless`を適用しているViewを `android:background=”@android:color/transparent”`を設定した`FrameLayout` でラップする。

## なぜそうなるのか

[StackOverflowの回答に的確な説明](https://stackoverflow.com/a/37757154)があったので、重要な部分の抄訳をしておきます。

> **Explanat

元記事を表示

何もないところをタップでキーボードを閉じるを実現する

![hide-keyboard-on-tapping-other-area (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/e2735ef6-b486-0355-8347-7e3edabe9781.png)

## 概要

チャット風アプリを作っていると 「何もないところタップしたらキーボードに閉じる」 という挙動を入れたくなります。そのための方法を2つ考えてみたので紹介します。

## 方法1

「何もないところ」は具体的にいうとキーボードや `EditText` 部分以外の `RecyclerView` の領域になります。なので、素直に`RecyclerView`のアイテムに対してクリックリスナーをセットしてその中でキーボードを閉じるコードを書いてあげればよさそうです。

“`kotlin
groupieAdapter.setOnItemClickListener { _, _ ->
hideKeyboard()
}
“`

## 方法2

もう1つは **「フォーカス」*

元記事を表示

【Android】Androidプロジェクト作成直後の実行でエラー

#Androidプロジェクト作成直後の実行でエラーが発生し、実行できない
エラー内容は以下の通り

“`terminal:terminal
Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
“`

##原因
Android12以降ではAndroidManifest.xmlのActivityにandroid:exported属性の指定が必要だった。

“`xml:AndroidManifest.xml(Before)

元記事を表示

特定のViewがセットされてからUIをさらに更新する方法

たまに使うので忘れないようにメモ

# どういうこと?(使用例)
– 3行以上で省略されるTextViewの下部に、全文表示ボタンをつけたい
– 省略されない場合はボタンを非表示にしたい
– そのため、**TextViewが表示されたタイミングで**省略可能判定を行いたい。

# 結論
– ViewにRunnableを引数に持つメソッドが生えているので使える
– View.post(Runnable)
– View.postDelayed(Runnable, long)
– 無論UIスレッドの操作となるので多用は禁物。そもそもこういったものを使う仕様にしたくない。
– (参考) https://developer.android.com/guide/components/processes-and-threads?hl=ja#WorkerThreads

# コード例
(DataBindingを使います)

“`kotlin
// View#post()を使います
binding.textView.post {
binding.textView.layout?.let { l

元記事を表示

【Flutter】簡単なToDoアプリの作成手順

皆さんこんにちは!現役大学生のKamichan_R(@Kamichan_R)です。
今回は、世界中で多く利用されているクロスプラットフォーム開発のフレームワークであるFlutterでアプリ開発をしました。Flutterでアプリ開発をするためにDart,SQLiteを勉強しました。そして、学習のアウトプットとしてToDoアプリを制作しました。
この記事では、今回制作したToDoアプリの説明・開発手順と学習の振り返りを紹介します。

#アプリ制作の説明と経緯
ここでは、ToDoアプリの概要と使用した技術と学習の目的を説明します。
##アプリの概要
今回開発したアプリは基本的なToDoアプリの機能が実装されています。タスクの追加・読取・編集・削除(CRUD)の機能があります。タスク作成時は、タスク名・優先度・期限・メモを入力します。複数のタスクがある場合は期日が早い順に並べるという機能があります。

OTHERカテゴリの最新記事