All Posts
AndroidはCSVをサポートしていないので導入は避けようという資料
いまプライベートで作っているアプリでCSVインポート機能を実装しようとして、「これは安易に導入しちゃだめだな…」と感じたのでまとめた資料です。
yamacraftのブログを支えるシステム(2022年版)
このブログを含めた、yamacraftが管理しているWebサイトの構築内容などをまとめました。
利用しているシステム・アプリ
各システム・アプリの詳細
Hugo
静的サイトジェネレータです。 Markdownでコンテンツ部分を作成できます。 静的サイトジェネレータはいくつか種類がありますが、利用者の数とバイナリファイルで動作する点から決めました。
2022 3Qやったこと
四半期ごとにやっている報告的なものです。
2022年のまとめ
仕事
合同会社ヤマダ印の代表社員兼ITエンジニアとして仕事をしています。
開発支援業務
これまで同様、継続して契約しているクライアントさんのところでAndroidアプリの開発案件をやっていました(週4日)。 ちなみにフルリモート勤務です。
アプリのデザインと実装のつらみを話しました
すっかりこちらに報告し忘れていましたが、先日『Mobile勉強会 Wantedly × チームラボ #6』にLTで参加しました。 LTも含め、発表側での参加は数年ぶりじゃないかという気がします。
adbでAlarmManagerの登録内容を確認する
Androidアプリにおいてアプリ自身で特定の時間に何かしらの処理(以下、アラーム処理)を行いたい場合は、AlarmManager
を使う方法が考えられます。
さらにsetInexactRepeating()
を使うことで、(タイミングに制限がありますが)一定間隔でアラーム処理を行うことが可能です。
D.I.C.のQUERY_ALL_PACKAGES利用許可申請の対応メモ
ヤマグロでリリースしているD.I.C.には、端末がインストールしているアプリの一覧を表示し、各アプリのtargetSdkVersionを確認できる機能があります。
この機能を実装するために、アプリでは PackageManager.queryIntentActivities()
を使っています。
val packageManager = getApplication<Application>().packageManager
val intent = Intent(Intent.ACTION_MAIN).apply {
addCategory(Intent.CATEGORY_LAUNCHER)
}
// 該当するActivity(アプリ)の一覧を取得
val activities = packageManager.queryIntentActivities(intent, 0)
このAPIを使うためには、 QUERY_ALL_PACKAGES
権限の利用が必要です。
設定しなかった場合APIがExceptionを吐くことはありませんが、空の情報が返却されます。