- 1. 【第二回】UnityでAndroidゲームアプリを作る ~ステージ作り~
- 2. Android studioとARcore
- 3. Bindingの簡単な設定方法
- 4. 【Kotlin】Androidアプリ「SASUKEクイズ」をつくった
- 5. 2022/3/3までに発売された主なfoldable端末の解像度まとめ
- 6. レイアウト作成時に利用できるサンプルデータ
- 7. HiltでPermissionチェック
- 8. Hiltを使って位置情報を取得する
- 9. FlutterでCloud Firestoreを使う(Android)
- 10. 【Android】Perffetoを用いて爆速でパフォーマンス計測を行う方法
- 11. 【Android】絵文字判定
- 12. 【Android】キーボード関連の処理
- 13. Android + Gradle 探訪 – 後編: buildSrc や Version Catalog
- 14. Android + Gradle 探訪 – 前編: Groovy → KTS (Kotlin DSL) 書き換え
- 15. Flutterで動画編集ができるパッケージ、Tapiocaを作った話
- 16. Tencent Real-Time Communication(TRTC)を利用したAndroidデバイスでのビデオチャット
- 17. [Android]kotlin+firestore emulatorを使ったunit testを構築する
- 18. Jetpack ComposeのLazyRowカルーセルで見える要素数を指定する
- 19. Composeを使っているプロジェクトのbuildSrcにAGPの依存を追加するとビルドがコケる件
- 20. Androidの双方向データバインディングで`cannot be inverted, so it cannot be used in a two-way binding`を解決する
【第二回】UnityでAndroidゲームアプリを作る ~ステージ作り~
# 本連載について
– 本連載では、私が趣味で個人開発しているAndroidゲームの作成過程を記録していこうと思っています。
– 作るゲームは2Dの横スクロールアクションにしていこうと思っています。
– [前回の記事はこちら](https://qiita.com/CPyRbJvCHlCs/items/e2a1581768fdbc963467)# 本記事について
本記事では以下の内容を記載します。使用するUnityは2020.3.27f1です。
– [前回の記事](https://qiita.com/CPyRbJvCHlCs/items/e2a1581768fdbc963467)で集めた素材を加工し、ステージ作りに使用出来るようにする。
– ゲームのステージ背景を用意する。
– ゲームのステージに地面等を配置する。# 背景の準備
前回の記事で素材を集めてきましたが、集めただけではゲーム内で使用するための準備は整っていません。以下の手順でまず背景の準備を行います。
1. 以下のように、[前回の記事](https://qiita.com/CPyRbJvCHlCs/items/e2a1
Android studioとARcore
初めまして、システムエンジニアのとまとです。
今回は2月末までできていたAndroidStudioでの
ARcoreについて説明していきたい思います。公式ドキュメント
Android Studio
https://developer.android.com/?hl=jaARCore
https://developers.google.com/arついこの前までAndroidStudioでARcore
を使用してた人もいると思います。しかし、Androidstudio v4.2.1以前の
バージョンでは使用できなくなってしまい
衝撃を受けました。この前までは、下図のようにできたのですが、
前のバージョンで起動しようとしても下図のようになります。
を書きました。上記の記事では、Perfettoでどのようにボトルネックを特定し、どのように改善したかを書いているので、実用的な使い方を知り
【Android】絵文字判定
# はじめに
絵文字かどうかを判定する方法について説明。[こちらの記事](https://qiita.com/nakashimaakio/items/487e586a0c942f73cf9e)でも書いたが、ここでは[getEmojiMatch](https://developer.android.google.cn/reference/androidx/emoji2/text/EmojiCompat#getEmojiMatch(java.lang.CharSequence,%20int))を使用する方法について説明。
# コード
## ビルド依存関係を追加
emoji2ライブラリを追加。
“`build.gradle
implementation “androidx.emoji2:emoji2:1.1.0”
“`## 処理内容
“`getEmojiMatch“`メソッドの第1引数は判定したいテキスト、第2引数はmetadataVersionを入れている。
“`Kotlin
fun CharSequence.isEmoji(): Boolean {
val
【Android】キーボード関連の処理
# はじめに
キーボード関連の処理をメソッド形式でメモ。# コード
キーボード表示状態の確認“`Kotlin
fun keyboardVisibility(view: View) =
view.height > Rect().apply { view.getWindowVisibleDisplayFrame(this) }.height()
“`—
キーボードの表示“`Kotlin
fun showKeyboard(editText: EditText) {
editText.requestFocus()
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.showSoftInput(editText, 0)
}
“`—
キーボードの非表示“`Kotlin
fun hideKeyboard() {
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as Inp
Android + Gradle 探訪 – 後編: buildSrc や Version Catalog

最近は Gradle の構成を Groovy ではなく KTS (一連の Gradle の Kotlin DSL) で書いたり
`buildSrc` や Version Catalog に依存をまとめるのがナウそうですが,
Android Studio で作成した新規プロジェクトはシンプルな Groovy で記述されています.Kotlin DSL などについて まったくわかっていないので (Groovy もだけど),
この機会に `Empty Compose Activity` Project を題材にして,
最近の Gradle の構成や記述について調べようと思いました.:point_down: 前編:
https://qiita.com/mangano-ito/items/0537d70701e1e85223e7
## モジュ
Android + Gradle 探訪 – 前編: Groovy → KTS (Kotlin DSL) 書き換え

最近は Gradle の構成を Groovy ではなく KTS (一連の Gradle の Kotlin DSL) で書いたり
`buildSrc` や Version Catalog に依存をまとめるのがナウそうですが,
Android Studio で作成した新規プロジェクトはシンプルな Groovy で記述されています.Kotlin DSL などについて まったくわかっていないので (Groovy もだけど),
この機会に `Empty Compose Activity` Project を題材にして,
最近の Gradle の構成や記述について調べようと思いました.:point_down: 後編:
https://qiita.com/mangano-ito/items/7e13f1988f9da61746b8
Flutterで動画編集ができるパッケージ、Tapiocaを作った話
Flutterで動画編集ができるパッケージ、Tapiocaを開発しているのですが、開発している中で知見がかなり多くあったので共有させていただきます!
Tapiocaでは↑上のような動画編集が↓下のようなコードでシンプルに書けます。
“`dart
import ‘package:tapioca/tapioca.dart’;
import ‘package:path_provider/path_provider.dart’;final tapiocaBalls = [
TapiocaBall.filter(Filters.pink),
TapiocaBall.imageOverlay(imageBitmap, 300, 5),
TapiocaBall.textOverlay(“Hello w
Tencent Real-Time Communication(TRTC)を利用したAndroidデバイスでのビデオチャット
Tencent Real-Time Communication(TRTC)を利用してAndroidデバイスでのビデオチャットを試してみます.
環境要件
——————-
Android 4.1 (SDK API Level 16).推奨はAndroid 5.0 (SDK API Level 21)
Android Studio 3.5 以降
Android 4.1以降のデバイスアプリケーションの立ち上げ
——————-
TRTCのプロダクトにアクセスし,左のDevelopmentAssistance→Demo Quick Runでアプリを作成します.
アプリ名は任意のもので結構です.SDKと各プラットフォームのソースコードをダウンロード
——————–
アプリ名を入力するとSDKとソースコードがダウロードできる画面が表示されます.
今回はAndroidなのでAndroidのソースコードをダウンロードします.
ダウンロード後は **Downloaded and Next** を押して次のステップへ.SD
[Android]kotlin+firestore emulatorを使ったunit testを構築する
こんにちは。virapture株式会社のもぐめっとです。

最近もっぱら休みの日は山にこもって雪山に土下座する毎日なので自分の顔写真がないのが最近の悩みです。
本日はfirestoreのエミュレータを使ったunit testの方法について紹介します。
## 事前準備
firebaseコマンドでエミュレータを起動できるようにしておきます。
“`shell
npm install -g firebase-tools
cd {firebase.jsonを定義してるところがあるのディレクトリ}
“`firebase.jsonがなければ下記コマンドでプロジェクトの設定をしましょう。
“`sh
firebase init
“`emulatorを起動します。
“`
firebase start emu
Jetpack ComposeのLazyRowカルーセルで見える要素数を指定する
Jetpack ComposeでLazyRowを使ったカルーセル表示をした際に、指定の要素数は必ず見えるように実装してみました?
今回実装したサンプルコードはこちらにおいてます
https://github.com/yasukotelin/JetpackComposeCarouselitemsonscreen
## まえおき
カルーセル表示は横方向へのリスト表示ですが、ディスプレイやコンテンツサイズとの兼ね合いで運が悪いとちょうど収まってしまい、ユーザーがスクロールできることを認知できない可能性があります。
そういうケースを想定して、必ず次の要素がチラ見えするように、3.2個表示などをしておくとユーザーにとても親切です。
↑ このようにちょうどコンテンツがディスプレイに収まってしまっているとスクロール可能である
Composeを使っているプロジェクトのbuildSrcにAGPの依存を追加するとビルドがコケる件
## 問題
Composeを使っているプロジェクトで、LibraryExtensionなどを使うため`buildSrc/build.gradle.kts`にAGPの依存を追加すると、
`org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering`
↑これが出てビルドがコケる。
### 環境
Kotlin: 1.6.10
AGP: 7.1.2
Jetpack Compose: 1.1.0## 解決方法
`implementation(kotlin(“gradle-plugin:${kotlin_version}”))`をdependenciesに追加する。
“`buildSrc/build.gradle.kts
plugins {
`kotlin-dsl`
}repositories {
mavenCentral()
google()
}dependencies {
imple
Androidの双方向データバインディングで`cannot be inverted, so it cannot be used in a two-way binding`を解決する
# はじめに
最近、Jetpack Composeばっかりやっていたのですが、久しぶりにxmlをやって思い出そうということで復習がてら勉強していたのですが、そこで双方向データバインディングをやろうとした時に、`cannot be inverted, so it cannot be used in a two-way binding`このエラーで少しだけ時間がかかったので、今回はこれを解決してみます。# 原因
原因はシンプルでした。
僕は、今まで単方向しか書いたことがなかったのでViewModelで以下のような書き方をしていました。“`kotlin
private val _username = MutableLiveData()
val username: LiveData= _username private val _password = MutableLiveData
()
val password: LiveData= _password
“`しかしこれで双方向をやろうとすると、、、、、
“