プログラム

プログラム

ローカライズ方法

Android StudioのローカライズAndroid Studio + Jetpack Composeでは、iOSの Localizable.xcstrings に相当するものとして、基本的には res/values/strings.x...
プログラム

Google Play Billing Library

コード例:買い切り型はい。今回のような「一度購入すれば永久に機能解放される非消費型(買い切り)」なら、AndroidではGoogle Play Billing Libraryを使います。Apple側でいうと、App Store Connec...
プログラム

課金アイテム名称メモ

よく使われる名称名称ニュアンスプレミアムアクセス有料機能全体へのアクセス権。無難で分かりやすいプレミアム機能一番ストレート。日本語UIでも理解されやすいプレミアム解放ゲームなどでよくある。「制限を解除する」感じフルアクセス全機能が使える印象...
プログラム

Googleアプリ配布関係

製品版リリースの作成でaabファイルアップロード後の確認画面で出る2つの警告文について警告この App Bundle に関連付けられている難読化解除ファイルはありません。難読化コード(R8 / ProGuard)を使用している場合、難読化解...
プログラム

Canvasゲームのリークチェック

JavaScript で作った Canvas ゲームのメモリリークチェックは、主にChrome DevTools の Memory タブと Performance タブを使って行います。Canvas ゲームでよくあるリークは次のようなもので...
プログラム

objectについて

Kotlin のobjectは「静的(static)なクラス」ではなく、シングルトン(singleton)オブジェクトを定義する構文です。あなたのCryptoManagerの使い方はかなり典型的です。object CryptoManager...
プログラム

Application

Applicationは Android アプリ全体を表すオブジェクトです。SettingsViewModel(application: Application) : AndroidViewModel(application)のようなコード...
プログラム

SwiftUI ローディングスピナー

フラグのディレイSwiftUIで「重い処理が始まったらすぐスピナーを出す」のではなく、「少し待って、まだ処理中ならスピナーを出す」というパターンはよくあります。短時間で終わる処理でもスピナーが一瞬表示されるのを防げるためです。最近のSwif...
プログラム

インポート、エクスポート

ViewModleでの書き方Androidで他デバイスと共有するなら、Storage Access Framework(SAF)経由でユーザーが選択したファイルへ書き出し/読み込みするのがよいです。TableDataStoreに追加するなら...
プログラム

Jetpack Compose ローディングスピナー

SwiftUI の ZStack 相当Jetpack Compose では Box です。ローディングスピナーを画面全体に重ねる場合はこんな感じになります。SwiftUIでいうとZStack { MainScreen() if isLoad...