メインコンテンツへスキップ

忙しい方のためのカメラ関連ニュース
海外のカメラ関連ニュースを翻訳してお届け


特定のアプリを除外できるスクリーンタイムアプリをClaudeで開発

  • From 
    Claude (Hacker News)

この記事は、開発者のDaanyaalSobani氏が、AIアシスタントClaudeを利用して開発したAndroidアプリ「TrueScreenTime」について説明しています。

このアプリは、デバイスの利用統計情報を読み取り、特定のアプリを含めたり除外したりすることで、カスタムスクリーンタイム集計を可能にします。主な機能は以下の通りです。

主な機能:

  • 正確なフォアグラウンド時間: 事前に集計されたデータではなく、UsageEventsから再構築された正確なフォアグラウンド時間を記録します。
  • ウェルビーイング風チャート: 含まれるアプリのドーナツチャート(中央にフィルタリングされた合計時間)と、週ごとのバーチャート(時間グリッド線とタップ可能な日選択)を提供します。これらはカスタムViewで、チャートライブラリは使用していません。
  • 日付範囲選択: 「今日」、「今週」(月曜始まり)、またはカレンダーダイアログから選択したカスタム開始/終了日を指定できます。
  • フィルタリング可能なアプリリスト: 指定した期間に使用されたすべてのアプリを、アイコン、名前、時間とともにリスト表示し、降順にソートします。各行のチェックボックスで、合計時間への含め/除外をライブで更新できます。
  • 除外リスト: チェックを外したアプリはリストから非表示になり、合計時間にも含まれなくなります。専用の「除外アプリ」画面で、個別に、または一括で復元できます。
  • 永続的なフィルタ: 含めるアプリの選択や、「システムアプリを表示」、「除外アプリを表示」のトグル設定はSharedPreferencesに保存されます。
  • システムアプリトグル: clutterを減らすため、システムアプリとランチャーはデフォルトで非表示になります。
  • 利用アクセスフロー: 「PACKAGE_USAGE_STATS」の権限が付与されていない場合、アプリは説明と「アクセスを許可」ボタンを表示し、設定画面にディープリンクします。

開発とテスト:

  • KotlinとXMLレイアウトを使用し、Composeは使用していません。
  • JVM上で約1分で実行できる単体テスト(Robolectric使用)が含まれています。
  • GitHub Actionsにより、プッシュごとにテストが実行され、ビルドが成功した場合のみAPKが作成されます。

ビルド要件:
JDK 17以上、Android SDK(compileSdk 35)が必要です。デバッグAPKはReleasesページから入手できます。

利用アクセス許可(Android 13+のサイドロードアプリの場合):
サイドロードされたアプリの場合、利用アクセス権限の付与には追加の手順が必要です。アプリ内で「アクセスを許可」をタップした後、Androidの設定画面で「制限付き設定を許可」を有効にし、再度アプリ内で権限を有効にする必要があります。このデータはデバイス外に出ることはなく、すべてローカルに保持されます。

最小SDK: 24(Android 7.0)、ターゲットSDK/コンパイルSDK: 35(Android 15)。
依存関係: AndroidX core/appcompat/recyclerview/lifecycle, Material Components, Kotlin coroutinesなど、最小限のライブラリのみを使用しています。

[custom_js_sp]

AIによる翻訳/要約をしています。正確な情報はオリジナルサイトにてご確認ください。
当サイトの記事にはプロモーションが含まれる場合があります。

今週の人気ニュース

アップル関連のニュースはこちら