投稿

2023の投稿を表示しています

Android/Kotlin備忘録: SplashScreen APIが導入されていなかったアプリ (targetSDK ≥ 33)

イメージ
最近、アプリの開発用にと、10-インチ画面の安いAndroidタブレット (WiFi)を購入しました。 カタログ上だと、そのタブレットの搭載OSは「Android 12」 (コードネーム: スノーコーン) となっていて、 数ヶ月前 (2023年10月) には「Android 14」 (コードネーム: 逆さケーキ) がリリースされているので、OSの型落ちが少し気になりましたが、購入後、電源を入れて少し使っていると「アップデートがあります」という通知が出たのでポチポチしたらすんなりと「Android 12」から「Android 13」 (コードネーム: ティラミス) にアップデートされました。 これまでアプリ開発には主にエミュレーターのAndroidを使っていて、手持ちのAndroidデバイスでは一番新しいOSのものが「Android 9」 (コードネーム: パイ)でしたw。 これで開発したアプリも実機で確認が出来るという事で、早速、Google Playで公開しているアプリをテストしてみましたが、「 ツイキャス専門店『コメ欄』Lite 」のバージョン0.1.1nが すごい事になっていました 。 [ 目次 ] バージョン0.1.1n 解決方法: SplashScreen API 詳細 バージョン0.1.1n 上の動画はAndroid13のタブレットで『コメ欄』Liteのバージョン0.1.1nの動作チェックを行った際の録画になりますが、前のフレームが消えすに残って重なって表示され、何が何なのか見えなくなってしまっています。 解決方法: SplashScreen API 結果としては、それまで使っていたスプラッシュ画面を、Android 12で追加された「 SplashScreen API 」を使う仕様に変更した処、テストに使ったAndroid13のタブレットでは問題が解決されていました。 👉『 スプラッシュ画面の実装を Android 12 以降に移行する 』(Androidデベロッパー

最近のプロジェクト (Pololu社 SMC: DCモーター制御ボード)

イメージ
私事ですが、最近はDCモーターを遠隔でシリアル制御するモノを知人に頼まれて作っています。 「プログラミングなら手伝うよ」と言っただけだったのに、いつの間にか他の事も頼まれて。。 (給料くれると良いのですが。) [ 目次 ] Pololu SMC (シンプル・モーター・コントローラー) 制御例 ポテンショメータで制御 (0~3.3V電圧) ラジコン制御 (RCサーボ信号) シリアル SMC テスタ Pololu SMC (シンプル・モーター・コントローラー) モーターの制御には 『SMC』 (Simple Motor Controller) という米国のPololu社が販売しているDCモータを制御するモジュールを使うという事で、上の画像はそのモジュールにBluetooth-シリアル変換回路をつなげてスマホから制御出来る様にした設定です。 SMCのボードはAllegro microSystemsのモータードライバを搭載しているので、HブリッジによってDCモーターを制御。 また、制御インターフェイスには、0~3.3V電圧、RCサーボ信号、TTL UART、USB、I 2 C (※) を選択する事が出来ます。 👉 SMCのページ (Pololu) ※: I 2 CはG2のみのサポートになります。 制御例 TTL UART、USB、I 2 Cなどのデジタル信号のいずれかでDCモーターを制御する場合は、パソコンやマイクロコントローラなどから特定のコマンドを送って操作する事になりますが、0~3.3V電圧のアナログ制御の場合はポテンショメータ(3端子可変抵抗)、RCサーボ信号制御の場合はラジコンの受信機なり、RCサーボテスターに繋げて操作も出来ます。 ポテンショメータで制御 (0~3.3V電圧) Plolu SMCの取説PDFより SMCのアナログ入力に1~10KΩのポテンショメータを繋げた場合はモーターをポテン

ぴゅこらーと:「出会って何日目」の日数計算の仕様

イメージ
最近、ちょっとしたきっかけで、2.5次元Vチューバーの「 ぴゅこる 」さん (国王) が、配信サイトの「 ツイキャス 」で、毎日深夜2時から定期配信をしている 「 ぴゅこる王国放送 」 向けのスマホアプリ: 「 ぴゅこらーと 」 の開発をしています。 ぴゅこらーと には、 ぴゅこる王国配信で開催されている 「 ぴゅこるスタンプラリー 」 というイベント向けの メモ帳機能 や、 ぴゅこる王国配信の開始時/終了時の プッシュ通知機能 、 メトロノーム機能 などの いくつかの機能があります。 以前、アプリを使っている方から、これらの機能に加えて、「推しアプリ」などにある様な、推しに出会ってからの経過日数を表示する機能を追加して欲しいという要望があったので、 「 出会って何日目 」 という、アプリ内で指定した記念日からの経過日数を表示する機能を、 2023年6月 末にリリースされた「ぴゅこらーと」バージョン0.1.3に追加しました。 設定されたの日付(=記念日)から現在までの日数を表示する機能なので、単に経過した日数だけを表示するだけなら比較的単純なのですが、これに、「 何年何か月何日目 」という表示方法のオプションを加えてみた処、記念日の日付が特定の日付の場合は経過日数の計算方法が少しややっこしかったので、ここに 「 ぴゅこらーと 」 で採用している 経過日数の計算方法 をメモしておきます。 [ 目次 ] 前置き 何日目 何年、何か月 前置き カレンダー上の日数 人間が手で計算する場合は、記念日と本日のをカレンダー上で確認してから間の日数を手動で数える事になりますが、iPhoneやAndroidなどの電算機器内部では、少し違った計算方法が使われます。 というのも、iPhoneやAndroidなどのアプリなどを作るプログラミングでは 日時 は「年月日」ではなく、 1970年1月1日(午前)0時0分0秒 (UTC)からの秒数 として処理されるのが一般的です。

Three.js、MMD、甘雨とChromeの拡張機能

イメージ
Three.jsにMMDモデルを読み込むモジュールがあるのですが、これをChromeの拡張機能で使えないかといじってみたら割と簡単に扱えました。 動いているキャラクターはゲーム「原神」の「甘雨」ですが、原神のキャラクターは開発元がMMDとして無料公開しているのでThree.jsのデモ内で踊らせてみました👆。 いずれMMDを動かす拡張機能か何かを作れないかと考えていますが、とりあえずは他に優先したい事があるのでいつの日にか。。。。 リンク Three.jsのデモをちょろっといじったらChromeブラウザ内で甘雨が踊りはじめた Three.jsのデモをちょろっといじったらChromeブラウザ内で刻晴が踊りはじめた : 刻晴バージョン

ツイキャスで他の人がサポートしている人って見えますか? (キャスポケットツール)

イメージ
[ 目次 ] 知恵袋の質問 アンサー: キャスポケットツール 例: キャスくんのサポートリスト 知恵袋の質問 Yahoo知恵袋に次の様な質問があったのですが: 自分がツイキャスで誰をサポートしているかって、他の人から見えちゃいますか? 誰かは見えなくても、何人サポートしてるとか見えますか? (2020/6/4) 0:29 ツイキャスで他人がサポートしてる人って見ることは出来ますか? (2016/11/28) 11:18 ツイキャスについてです 自分のサポーターは周りから見られるのは知っています 自分がサポートしている人は周りから見れますか?(僕がサポートした人以外) また見れないとしても僕が何人サポートしているかは周りに分かりますか? (2015/11/21) 17:40 ツイキャスの 公式アプリや公式サイト では、各ユーザーのサポートの一覧が「サポート欄」で確認出来る他、(ログインが必要になりますが) 自分がサポートしているユーザーの一覧も確認する事も可能です。 しかし、他のユーザーがサポートしているユーザーの一覧は、公式のサイトや公式アプリでは確認出来ない仕様になっています。 でも、「誰をサポートしているか」という情報が非公開になっている訳ではなく、公式サイトの情報から全てのユーザーの「サポート欄」をくまなく確認していけば、理論上は「誰が誰をサポートしている」かを調べる事は出来ますが、かなりの時間とデータ量が無駄になるでしょう。 でも、実際は、無料アプリで「誰が誰をサポートしている」の一覧を簡単に確認する事が出来ます。 アンサー 無料Android/iOSアプリの「 キャスポケットツール 」で、他のツイキャスユーザーがサポートしているユーザーの一覧が確認出来ます。 👉 キャスポケットツール サポートページ

キャスポケットツール: 気になるユーザーリストの巻

イメージ
キャスポケットツール (Cas Pocket Tool) のメイン画面に表示される水色の「気になる」ボタンをタップすると開く「 気になるユーザーリスト 」の説明をここにメモしておきます。 この画面では、ツイキャスユーザーを最高10まで登録出来、アプリが開かれている状態であれば 約1分半毎の間隔 で登録されているユーザー情報が更新される仕様 ※ になっています。 この情報にはライブ配信の有無も含まれる為、設定画面で「ライブ通知」が有効になっていれば、ユーザーが配信を開始した場合は (たとえ無通知配信でも) スマホ/タブレットの画面に通知を表示する事が出来ます。 ※ : 現バージョンでは、原則としてアプリ画面が表示さている状態でないと更新が継続されない仕様になっています。 キャスポケットツールを別のアプリと一緒に使っている場合、別のアプリの画面を表示して、キャスポケットツールの画面が隠れた場合は、キャスポケットツールがバックグラウンドで処理される為、情報の更新の頻度が制限される場合があります。 Android: キャスポケットツールの設定画面で「バックグラウンド処理」を有効にして、デバイスの設定でキャスポケットツールの「バッテリーの最適化」を無効にするとキャスポケットツールがバックグラウンドでも更新が継続されます。 但し、Android 9 (API 28; Pie) 以降ではアプリの使用頻度によってバックグラウンド処理を制限する機能がある為、仕様頻度が低い場合はOSによって規制が入ってしまい、更新が停止する場合があります。 (改善予定🔰) iPhone/iOS: iOSの設定画面で、キャスポケットツールの「Appのバックグラウンド更新」を有効にすると、バックグラウンドでの更新が有効になりますが、更新頻度は短くても15分毎という規制があり、実際はOSによってもっと長い間隔に制限される様です。 (改善予定🔰) macOS: M1/M2シリコンのmacであれば、iPhone/iOSアプリとして

『コメ欄』✚ (プラス) v0.2.x 初期設定

イメージ
ツイキャスのコメント欄をAndroidデバイス上で表示出来る『コメ欄』 ✚ ( プラス ) (v0.2.x)の初期設定に必要なステップをここにメモしておきます。 『コメ欄』✚ v0.3.x では初期設定の必要が無くなったので、このぺージで紹介している設定は必要ありません。 ただ、ツイキャスのコメント欄をオーバーレイとして表示する場合は、ステップ一1 「コメントオーバーレイ表示用のURL」のURLが必要になります。 [目次] 初期設定 コメントオーバーレイ表示用のURL コメントオーバーレイURLの設定 『コメ欄』✚ 関連メモ 『コメ欄』✚ 関連 v.0.2.x サポートページ 📝 初期設定 (このメモ) kii_memo_jp プライバシーポリシー (個人情報保護方針) 『コメ欄』のセットアップ動画 コメントオーバーレイURLの設定のステップ④で「ツール・ゲームズ配信」ページを開いてURLをツイキャスのサイトからコピー&ペーストする場合の流れが収まっています。 ※ この動画は『コメ欄』Liteを使って収録されていますが、設定方法は、『コメ欄』✚ v0.2.xと『コメ欄』Liteでボタンの位置や見た目が少し違うだけで、同じ流れになっています。 初期設定 コメント欄を表示するにはツイキャスのサイトから コメントオー

Flutter備忘録: SafeAreaとAppBarでiOSアプリのステータスバーの色が白くなるバグ?

イメージ
Flutterはマテリアルデザインをサポートしているので、マテリアルデザインのカラースキーム(色構成)を使うと無難な見た目のアプリを比較的簡単に作る事が出来ます。 Flutterの入門的な事を扱っているネット記事だったりすると、アプリデザインのプライマリカラーを既定値の青色 (MaterialColor.blue)から他の色に変更するのに、Flutterでマテリアルデザイン対応のアプリの基礎としてコード内で使う MaterialApp の theme プロパティに、使いたい色を指定したテーマデータ (ThemeData)を渡す方法だけが紹介されていたりする場合があったりします。 Status Bar と App Bar デバッグモードで開発中のアプリをいじっている時点だとそこまで気にならない事かもしれませんが、これだけだと、アプリのタイトルなどを表示する App bar の色が既定値の水色のままで表示されたり、時間やバッテリー残量が表示される Status bar の色がおかしかったりたりする場合があります。 アプリとして一般リリースする際にアプリの動作の再確認をしていると、こういった事は絶対NGなので、MaterialAppのthemeプロパティ以外にも必要な設定をここに備忘録としてまとめておきます。 [目次] 好みの色に変更する方法 (マテリアルデザイン) MaterialAppのプロパティ設定 SystemUIOverlayStyle設定 SafeArea + AppBarのバグ? そもそもSafeAreaって? 好みの色に変更する方法 (マテリアルデザイン) Flutterの 現在 の安定版のバージョン ( 3.7.x ) のデフォルト設定だと、 右 上 のスクリーンショットにある様に、Status barとApp barはマテリアデザイン2の水色ので表示されます。   (MaterialColor.blue.shade800)   : Status Bar

Flutter備忘録: pod repo update やっても👈 Exception: Error running pod install エラー

イメージ
「 flutter build ipa 」や「 flutter build applebundle 」といったFlutterのビルドコマンドで、macOSやiOS用のアプリをビルドする際に、 「 pod repo update 」コマンドを実行するように といった エラーメッセージ が返ってくる事がしばしばあります。 そこで、指示の通りにターミナルを開いてプロジェクトのディレクトリで「 pod repo update 」を実行すると、リポジトリ情報は更新されるみたいですが、再度ビルドをしても前と同じエラーが返ってくる場合があります・・・。 この場合、エラーメッセージの指示にある「 pod repo update 」ではなく、別のコマンドを実行すれば次のステップに進める場合がほとんどなのでここに備忘録としてメモしておきます。 キーワード : #CocoaPods [目次] エラーメッセージ 対処方法 最後に エラーメッセージ 問題のエラーメッセージは: Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies. To update the CocoaPods specs, run: pod repo update Exception: Error running pod install で、メッセージの意味は、CocoaPadsのリポジトリ情報が古いので、ターミナルでプロジェクトのディレクトリに移動して「pod repo update」というコマンドを実行して情報を更新してくれ(下さい)という意味になります。 また、最後の「Exception: Error running pod install」の部分から、「pod install」コマンドを実行した時に起きたエラーというのがわかります。 CocoaPads は、macOSやiOSのアプリなどを開発するのに使われるIEDの Xcode において、オープンソー