- 1. JavaからKotlinの引数なしの関数を呼んだら引数が足りないと怒られた(suspend fun, Continuation, coroutine)
- 2. [Unity]classes.jarの格納場所
- 3. AGP8系にアップデート時にパッケージにnamespaceがない場合
- 4. Unityでandroidビルドを行う【2024年4月】
- 5. URLのクエリパラメータを置き換えたい
- 6. Flutter で Android や iOS のアプリアイコンを一括で変更したい!
- 7. BindingExpressionBaseVisitor has been compiled by a more recent version of the Java Runtime
- 8. Flutterを採用している有名企業・有名アプリ
- 9. Android Studio ファイル保存時に自動フォーマット
- 10. 【Flutter】「SocketException: Failed host lookup」の対処法
- 11. 日本語プログラミング言語MindをAndroidに移植した時の記録(ステップ6/9)
- 12. Firebaseを使ってクラッシュを集計するログを仕込む
- 13. 公開モジュールが非公開モジュールに依存していないか確認する
- 14. 穴開きのComposableを作る
- 15. Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionExceptionの解決方法
- 16. Android エミュでビルドしたら Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE: Failed to override installation location] というエラーが出た
- 17. 【ChatGPT】30分でAndroidアプリ作ってみた
- 18. AndroidStudioの新しいDiffViewによってPRの差分をGithubライクに見れるようになった
- 19. Android 15で日本語フォントが大幅改善
- 20. Arduinoとスマホでお家をモニタPart2.5【Bletooth選択動作の作成】
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 2JDK: 11
com
[Unity]classes.jarの格納場所
意外と忘れるので自分用に残しておきます。
(unityバージョンによってディレクトリが異なる可能性があるので注意)* * *
確認環境:unity 2023.3.10.f1unityがインストールされている場所に格納されています。
`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
日本語プログラミング言語MindをAndroidに移植した時の記録(ステップ6/9)
# はじめに
この記事はだいぶ前(2012年)にココログの「[キリーの日本語プログラミング](http://uemon3511.cocolog-nifty.com/nihongoprogram/)」に掲載したコラムですが、再編集してこちらにも投稿します。今となっては古い話ではありますが、OSによってプログラム言語(AndroidではJava)が決め打ちされている環境で規定と異なるもの(Mind)を走らせたことの記録としてお読みください。
# インテントサービスで効果音を再生
サービスの一つである「インテントサービス」を実装した。
![photo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118036/797aaaf5-e43e-1e74-eedd-fb48b9bbb676.png)
![photo_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118036/bd033da9-1c0c-1fe0-7
Firebaseを使ってクラッシュを集計するログを仕込む
# はじめに
今回はFirebaseCrashlitycsを使ったクラッシュの集計方法を紹介していきます
### 本文
仕込む場所は`runCatching`や`try catch`の中で大丈夫です
下記のようにThrowableを引数として渡すことでエラーの内容を集計してくれます
“`kotlin
runCatching {
// hoge
}.onFailer {
Firebase.crashlytics.recordException(it)
}
“`
### 最後に
今回はFirebaseCrashlitycsを使ったクラッシュの集計方法を紹介しました
どなたかのお役に立てれば幸いです
公開モジュールが非公開モジュールに依存していないか確認する
ライブラリプロジェクトではマルチモジュール構成を作っておき、サンプルアプリがあって、それが公開するライブラリモジュールを参照していて〜という構成を取る場合が多いと思います。
例えば、ライブラリの開発中・デバッグやテストにのみ使うものを集めたモジュールもあったとしましょう。あくまでライブラリの開発のためのものなので公開していないとします。
その場合、公開モジュールが意図せずこのモジュールに依存してしまい、このプロジェクト上ではビルドが通りますが、非公開モジュールは当然mavenリポジトリにないのでpublishした後にビルドが通らないことに気づく、なんてことになりかねません。とまあ、チョット特殊な事情ですが、CIとかでチェックしたいなーと思ってたんですが、
最近自分で投稿した記事を眺めてみると。https://qiita.com/ryo_mm2d/items/19a751e7471f195e4215
dependency-guardで依存関係チェックできますよね。
https://qiita.com/ryo_mm2d/items/500cdf25289627cf8be2
穴開きのComposableを作る
Composableに穴を開けたいときがありますよね。
あんまりないと思いますけど例えばよくありそうなのはこういうやつ
![spotlight.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405568/dea29dbb-7fc2-d422-3ddb-29a277927c6a.gif)## blendModeを使ってみる
こういうとき、Compose以前のAndroid Viewでは一旦全体を半透明の黒で塗りつぶしてから穴の部分だけ色を消すViewを実装していたと思います。
Composeでも `drawBehind` というModifierを使えば同じことができそうです。
こんな感じのComposableを書くことになるでしょう。
一旦 `drawRect` を使ってComposable全体をscrimColorで塗りつぶし、穴部分は `blendMode` にDstOutを指定して塗りつぶした色を消去します。
“`kotlin
@Composable
fun SpotlightSc
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionExceptionの解決方法
### はじめに
AndroidStudioで開発しているとたまに以下のようなエラーが発生してビルドが通らなくなったりします。“`
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
“`
そんな時に僕が試している解決方法を備忘録として残しておきます。### キャッシュの削除
File → nvalidate Cashesを選択。
![スクリーンショット 2024-04-14 15.56.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113615/1b0a2008-7d1a-aa35-e5b2-12ab2e5a5deb.png)キャッシュをクリアする項目を選択してから
Android エミュでビルドしたら Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE: Failed to override installation location] というエラーが出た
# これなに
Android エミュレーターでビルドしたら `Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE: Failed to override installation location]` なるエラーが出た。# エラーログ
ターミナルで出てきたエラーログは以下の通り。
“`zsh
% flutter run –device-id emulator-5554
Launching lib/main.dart on sdk gphone64 arm64 in debug mode…
Running Gradle task ‘assembleDebug’… 105.4s
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
Installing build/app/outputs/flutter-apk/app-debug.apk… 9.6s
Error: ADB exited with exi
【ChatGPT】30分でAndroidアプリ作ってみた
## はじめに
はじめまして、記事主は2023年8月からAndroidエンジニアとして働いています。
最近個人開発を始めようと思い、Androidの開発環境を整えてみたのですが、ふとChatGPTに作成依頼したらどこまでのものができるのか興味が湧いたので、試してみたいと思います。
使用する言語はKotlinになります。
また、今回作成するアプリは簡単な**ToDoアプリ**です。
それではいきましょう。## まずは雑に依頼してみる
まず依頼した内容がこちら![スクリーンショット 2024-04-13 15.03.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113615/cb7fe4b9-a970-420f-81c2-bcb2a5582141.png)
なんとも雑ですね。回答がこちら
### MainActivity
“`kotlin
import android.os.Bundle
import android.widget.ArrayAdapter
import androi
AndroidStudioの新しいDiffViewによってPRの差分をGithubライクに見れるようになった
IntelliJ IDEA 2023.3にて、「オールインワンの差分ビューアー」というDiffViewの新機能が登場しました。
https://www.jetbrains.com/ja-jp/idea/whatsnew/2023-3/
これによって、PRの差分をGithubのfiles changedとかなり近い体験で確認できるようになります。
– 複数ファイルの差分をスクロールによって確認できる
– 差分とその付近の行のみ表示できる■ Githubとの比較
| Github | AndroidStudio |
| :—: | :—: |
|![スクリーンショット 2024-04-13 22.39.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762653/13165d76-d179-e46f-07a9-dd7e445fb7e5.png)|![スクリーンショット 2024-04-13 22.39.42.png](https://qiita-image-store.s3.ap-no
Android 15で日本語フォントが大幅改善
## Android 15のパブリックベータ版が公開
2024年のGoogle I/Oで発表となる次期Android 15(Vanilla Ice Cream、バニラアイスクリーム)。そのパブリックベータ版が米国時間4月11日に公開されました。
順調に開発が進めば9月頃に正式版が公開される見通しですが、今回公開されたパブリックベータ版を見ると、今まで貧弱といわれていたAndroidの日本語フォントが、Android 15では大幅に改善しそうなことが判明しました。
本記事では、従来のAndroidと何が違うのかを解説したいと思います。## Android 15の新機能のおさらい
[Googleのホームページ](https://developer.android.com/about/versions/15/summary?hl=ja)に新機能についてまとめられていますが、一部を抜粋します。### [細かな改行コントロール](https://developer.android.com/about/versions/15/features?hl=ja#line-breaks)
Text
Arduinoとスマホでお家をモニタPart2.5【Bletooth選択動作の作成】
# 初めに
[前回](https://qiita.com/Antareskkudo/items/e102d5c4aebff21766ea)はArduinoとBluetooth送受信機(以下、BLEデバイスとする)の接続、受信した情報をデコードするところまでやりました。今回は前回の課題に挙がっていた**BLEデバイスをコードでしか変更できない問題**について解決していこうと思います。[^1]本記事で説明する内容の範囲は以下の通りです。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/38f77b59-4631-3900-4278-4ee7ca5f6caa.png)# アプリ動作順序について
コードの説明の前に前提条件を理解しておきます。
前回ではアプリ起動時にプログラムされたBLEデバイスに接続する操作をしていました。今回はそのアクセス前にBLEを選択する動作を加えます。Androidのアクティビティ実行動作順序(ライフサイクルイベント)は下のように規定されています。