Android関連のことを調べてみた

Android関連のことを調べてみた
目次

【jetpack compose】自作アプリにダークモードを適用しよう

白い画面がまぶしいと感じるときに恋しくなるのがダークモードの黒。今回はこのダークモードを自作のアプリにも適用していきます。
# ベースになるアプリ

https://github.com/jtakumi/jetpackComposebasic/tree/viewModel

画像をクリックした回数をカウントするアプリで、viewModelを導入しているため画面を回転させても回数がリセットされないものです。

# 今回登場するツール

https://m3.material.io/theme-builder#/custom

↑ベースにする色を1色設定するだけでそのほかの色を勝手に設定してテーマカラーを作成してくれる最高のサイト🎨

– Color.kt
jetpack composeのプロジェクトを作成すると**自動生成されるカラー設定ファイル**

– Theme.kt
こちらも自動生成されるファイル。**テーマの設定**を行う

# 実際の動作の様子

元記事を表示

Android アプリで Firebase ネットワークタイムアウトエラー:A network error (such as timeout, interrupted connection or unreachable host) has occurred.

# これなに
Flutter でアプリ実装したけど、Android でネットワークタイムアウトエラーになってしまう事象に遭遇したので調べた
“`zsh
E/RecaptchaCallWrapper(25265): Initial task failed for action RecaptchaAction(action=signUpPassword)with exception – A network error (such as timeout, interrupted connection or unreachable host) has occurred.
“`

# エラー内容全文
なんかよくわからないけどネットワークがタイムアウトしたらしい。
“`zsh
I/FirebaseAuth(25265): Creating user with hoge@hoge.com with empty reCAPTCHA token
W/System (25265): Ignoring header X-Firebase-Locale because its value was nu

元記事を表示

Unlikely APK 1.0 Android用にダウンロード

ありそうもないゲーム:普通ではない冒険
ゲームの世界は広大で、トレンドは波のように押し寄せたり引いたりしますが、目立つゲームを見つけることは隠れた宝石を見つけるようなものです。ありそうもないゲームはそのような宝石の1つです。普通とは異なり、タイトルの海の中で新鮮な風です。このブログでは、ありそうもないものが特別なのは、魅力的なグラフィックから革新的な機能、シームレスなユーザーエクスペリエンスまでを掘り下げます。
https://apkhihe.com/unlikely/
ありそうもないゲームとは?
ありそうもないゲームは単なるゲーム以上のものです。それは創造性と想像力の領域への冒険です。戦略、パズル解決、探検の要素を組み合わせ、プレイヤーに予想外のことを受け入れ、枠から外れて考えるよう促します。モバイルデバイスとPCの両方で利用可能な「ありそうもない」は、ゲームが何であるかの境界を押し広げる証です。
ありそうもないのグラフィック
「ありそうもない」の世界に入ると、あらゆるものが可能な領域へとプレイヤーを運んでくれる息をのむようなビジュアルが出迎えてくれます。豊かな景色から緻密なキャラク

元記事を表示

警告「Optional Modifier parameter should have a default value of Modifier」の回避方法

## あらすじ
[Jetpack Composeの公式チュートリアル(インタラクティブな Dice Roller アプリを作成する)](https://developer.android.com/codelabs/basic-android-kotlin-compose-build-a-dice-roller-app?authuser=1&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-2-pathway-2%3Fauthuser%3D1&hl=ja#2)を進めていたら、以下の警告が出ました。

![スクリーンショット 2024-04-20 9.59.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2744909/ca95ae81-3819-28f8-a505-f410255586a3.png)

![スクリーンショット 2024-04-20 9.5

元記事を表示

Android studio 「Unresolved reference: main」エラー

# Android開発でのUnresolved Referenceエラーの解決方法

Androidアプリケーションの開発中には様々なバグやエラーに直面することがあります。今回取り上げるのは、Kotlinを使用したAndroidプロジェクトでよく見られる「Unresolved reference」エラーです。このエラーは、プロジェクト内の参照が解決できない時に発生します。具体的には、以下のようなエラーメッセージが表示されることがあります。

“`
e: file:///YourProjectfilepath/app/src/main/java/com/websarva/wings/android/hellosample/MainActivity.kt:14:69 Unresolved reference: main
“`
このエラーは、MainActivity.kt ファイルの特定の行で main という名前が解決できないという問題を指摘しています。

## エラーの原因
エラーメッセージによると、main というIDが見つからないために発生しています。このIDは通

元記事を表示

テスト時に起きるエラー対処: Execution failed for task ‘:app:processDebugLocalGoogleServices’.

## 概要
Androidのモバイルアプリ開発において、CD/CIの設定などで ./gradlew test コマンドによるユニットテストを実行したい時がありました。しかし、Firebaseのエラーが起きてテストを実行できませんでした。
エラー内容は
“`
Execution failed for task ‘:app:processDebugLocalGoogleServices’.
“`

バリアントを複数設定しているときにパッケージ名をうまく探せないようで起きてしまうようです。

## 解決策

環境を指定してテストを実行すると直りました。

“`shell:
./gradlew testDebugUnitTest
“`

debugの箇所は設定しているビルドバリアントです。
例えば stage バリアントがあるのならば次のようでも良いです。

“`shell:
./gradlew testStageUnitTest
“`

<参考>

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

元記事を表示

Androidデバイスでローカル(Androidデバイス内)にデータベースを構築する

この記事はAndroidデバイス内にSQLiteを用いて`mydatabase.db`としてファイル形式でデータベースを実装する方法について説明する.
>API通信を実装してリモートでデータベースにアクセスする方法については以下の記事を参照すること.
>https://qiita.com/tarakokko3233/items/0961933e2b9695cb561a

>**SQLiteとは**
>軽量でサーバーレスの関係データベース管理システム(RDBMS)のこと.SQLiteはサーバーを必要とせず,モバイルアプリ,デスクトップアプリ、ブラウザ拡張機能など,幅広い用途に組み込むことができる.

## 1.AndroidStudioでアプリケーションプロジェクトを作成
AndroidStudioを開き,以下のようにプロジェクトを作成する.今回はJavaを用いて以下のようにプロジェクト名とパッケージ名とSDKのバージョンを指定した.
>このPackage nameは後でデータベースファイルにアクセスする際に必要なので覚えておくこと.

![スクリーンショット 2024-04-19 12

元記事を表示

Android タイトルバーを表示する

Android studioでAndroidアプリを制作していて、タイトルバーがデフォルトで表示されない設定となっていました。なので、表示させる方法を紹介します。

プロジェクト作成時にEmpty Views Activityを指定した想定で進めます。
![スクリーンショット 2024-04-18 19.58.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1215907/8bb3032e-9553-aefb-afad-ac21fd01717e.png)

### 1. Androidビューでファイルを開いてthemes.xmlファイルを探す
themes.xmlファイルはapp/res/values/themeフォルダに格納されています。
![スクリーンショット 2024-04-18 20.03.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1215907/49090d1d-e401-2912-9aaf-76

元記事を表示

Android Studioのコードのデフォルト折りたたみ設定の解除

# はじめに

Android Studioのデフォルト設定で、一部コードがデフォルトで折り畳まれるのが見辛かったので、設定変更した時の忘備録。



# デフォルト表示

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3758686/27c8f85e-40bc-95f1-37f0-069c1db5f518.png)

いい感じのところがなかったのでimportの部分を参考として出しますが、
上のような感じで、デフォルト設定だと折り畳まれてコードが隠されています。


# 設定変更

![image (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3758686/9bb4c008-d112-9c97-65eb-0cac18926c52.png)

メニューバー

元記事を表示

androidでカメラを使う(なるべくシンプルな方法)

# 手順
いや、これでもシンプルな方なんですよ。たぶん。すげえ大変そうだけど。

![Apr-17-2024 10-16-51.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/33db36af-a718-f431-f21c-d93d9545e864.gif)

1、アプリからデバイスのカメラを立ち上げる
2、撮影した画像をデバイスのストレージに一時保存する
3、一時保存したファイルを読み込んで使う

という流れです。
なぜ画像を一時保存するかというと、カメラからそのまま画像を受け取ると低画質になるからです。

### カメラとファイル保存の設定

manifests/AndroidManifests.xmlにカメラとストレージの仕様設定を追加。

manifest内のapplicationと同階層に以下を追加。
これはカメラのハードウェアと、カメラ権限、デバイスストレージの使用権限を設定しています。

“`xml:AndroidManifests.xml

元記事を表示

JavaからKotlinの引数なしの関数を呼んだら引数が足りないと怒られた(suspend fun, Continuation, coroutine)

## はじめに

こういうエラーのことです。
“`
‘関数名(kotlin.coroutines.Continuation? super 戻り値の型>)’ in ‘ファイル名’ cannot be applied to ‘()’
“`

具体例というとこうです。
“`
‘getNumber(kotlin.coroutines.Continuation? super java.lang.Integer>)’ in ‘com.example.myapplication.KotlinLibrary’ cannot be applied to ‘()’
“`

分かる人はもしかしたらタイトルの括弧のキーワードで既に察したかもしれませんが、
なにせKotlinに関する知識が0で、キーワードに辿り着くまで時間がかかったもので、この記事が誰かの手引きになるといいと思います。
また、キーワードが分かってからもつまずきました。最終的に選んだ解決策を共有できればと思います。

## 環境
Android Studio Hedgehog | 2023.1.1 Patch 2

JDK: 11
com

元記事を表示

[Unity]classes.jarの格納場所

意外と忘れるので自分用に残しておきます。
(unityバージョンによってディレクトリが異なる可能性があるので注意)

* * *
確認環境:unity 2023.3.10.f1

unityがインストールされている場所に格納されています。
`Unity\Hub\Editor\2022.3.10f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\classes.jar`

Hubの「エクスプローラーで表示」からなら`\Editor`から開くので探しやすい。
![unityhub.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552480/6a0550e0-fa4f-e6b6-2e66-e9a7b39d14c4.png)

元記事を表示

AGP8系にアップデート時にパッケージにnamespaceがない場合

## 回避策

“`android/build.gradle
subprojects {
project.buildDir = “${rootProject.buildDir}/${project.name}”
afterEvaluate {
// check if android block is available
if (it.hasProperty(‘android’)) {

if (it.android.namespace == null) {
def manifest = new XmlSlurper().parse(file(it.android.sourceSets.main.manifest.srcFile))
def packageName = manifest.@package.text()
println(“Setting ${packageName} as android namespace

元記事を表示

Unityでandroidビルドを行う【2024年4月】

# Androidにswitchする
#### File – Build Settings をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771936/804bf874-45c7-0748-3a95-a13437e2d9a9.png)

#### Androidを選択してSwitch platformをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771936/a8c70d92-7424-af73-56a6-a2b06b7e9d0d.png)

# package名などを決める
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771936/b043bb40-a3f0-b1cc-ed17-766869f358cd.png)

#### キーを作成してパスワードを入力する
P

元記事を表示

URLのクエリパラメータを置き換えたい

毎回必要な時に調べ直しているので備忘録。

Uri.BuilderでGETのパラメータをreplaceできるメソッドがあると思いこんでいるも見当たらないため、調査に毎回時間を浪費していた。

以下の手順でやりたいことは実現出来る。

1. 全てのqueryParamsを取得できるようにURLをUri.parseする
1. Uri.Builder.clearQuery()で全てのqueryParamsを削除する
1. 置き替えたいkeyが存在していたら置き替えたい値をUri.Builder.appendQueryParameterで新規追加する
1. 上記3以外はそのままUri.Builder.appendQueryParameterで新規追加する

■置き替え前後のURLは以下
クエリパラメータ置き替え前URL: https://exsample.com/?key=value&key2=value2
クエリパラメータ置き替え後URL: https://exsample.com/?key=newValue&key2=value2

■実ソースは以下

“`kotlin
val KEY

元記事を表示

Flutter で Android や iOS のアプリアイコンを一括で変更したい!

# これなに
クロスプラットフォームなんだから Manifest だったり Assets.xcassets だったりと個別に設定やらないでアプリアイコンを一発で設定くらいできるでしょう。
そんな思いから何かないかなあと思って調べてみました。

# 設定手順
### 1. `flutter_launcher_icons` package を pubspec.yaml に追加
以下をターミナルで実行して追加する
“`zsh
$ flutter pub add flutter_launcher_icons
“`

### 2. 任意の場所にアイコンファイルを追加
基本的にはプロジェクト配下に `assets` フォルダを作成して、その中で設定しておくのが良さそう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2819748/342bda88-72b5-5a7a-27e8-3adf3bd45cce.png)

### 3. `pubspec.yaml` でアイコンファイルのパスを通す
どこ

元記事を表示

BindingExpressionBaseVisitor has been compiled by a more recent version of the Java Runtime

DataBindingを使っているプロジェクトで、AGPのバージョンを上げたところ以下のようなエラーが発生するようになりました。

“`
エラー: cannot generate view binders java.lang.UnsupportedClassVersionError:
android/databinding/parser/BindingExpressionBaseVisitor has been compiled by
a more recent version of the Java Runtime (class file version 61.0),
this version of the Java Runtime only recognizes class file versions up to 55.0
“`

※DataBindingはメンテナンスモードで推奨されません。脱却を急ぎましょう。

# 原因

“`build.gradle.kts
kotlin {
jvmToolchain(11)
}
“`

AGPのJavaバージョンが17にな

元記事を表示

Flutterを採用している有名企業・有名アプリ

:::note info
「Flutterがどんなアプリに使われているか気になる!」という声をよく聞きます。そこで、実際にFlutterを採用している有名なアプリをいくつかピックアップしてみました。Flutterファンとしては、この魅力がもっと多くの人に伝われば嬉しいですね。
:::

### メルカリ「ハロ」
「スキマバイトを簡単に見つけられる」と評判のメルカリの新サービス、「ハロ」もFlutterを使用しています。

– [ホームページ](https://hallo.mercari.com/)
– [iOSアプリ](https://apps.apple.com/jp/app/%E3%83%A1%E3%83%AB%E3%82%AB%E3%83%AA-%E3%83%8F%E3%83%AD-%E6%80%9D%E3%81%84%E7%AB%8B%E3%81%A3%E3%81%9F%E3%82%89%E3%81%99%E3%81%90%E3%81%AB%E3%81%8A%E4%BB%95%E4%BA%8B%E3%81%A7%E3%81%8D%E3%82%8B/id6450022297)

元記事を表示

Android Studio ファイル保存時に自動フォーマット

## ファイル保存時に自動フォーマット

1. `Android Studio` を開きます。
2. `Setting` を開きます。
2. `Tools` から `Action on Save` を選択します。
2. `Reformat code` を選択します。

**これで自動フォーマットが可能です。**
![スクリーンショット 0006-04-15 18.36.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3637125/f72d322f-19fe-83f9-1cde-e8847f7c45e1.png)

:::note info
またOptimize importsを選択すると、import文をフォルダ階層順に並べることが可能です。
:::

# 告知
最後にお知らせとなりますが、イーディーエーでは一緒に働くエンジニアを
募集しております。詳しくは採用情報ページをご確認ください。

https://eda-inc.jp/recruit/

みなさまからのご応募をお待ちしております。

元記事を表示

【Flutter】「SocketException: Failed host lookup」の対処法

# はじめに

Flutterでアプリ開発を実施している際に、以下のエラーが吐かれたので、原因と解決方法を紹介します。

“`
SocketException: Failed host lookup: ‘{project}’ (OS Error: No address associated with hostname, errno = 7)
“`

# こんな人に読んでほしい

* Flutterでの開発を行っている方
* Flutterでの開発を検討している方
* Flutter初学者の方

# 原因

結論、Androidエミュレータからネットワークに接続して画像を表示させようとした際に、AndroidManifest.xmlで接続許可をしないといけませんでした。

# 対応

解決方法は、以下のファイルにインターネット利用許可のパーミッションを1行追加するだけでOK。

“`{project}/android/app/src/main/AndroidManifest.xml“`

“`xml

元記事を表示

OTHERカテゴリの最新記事