カテゴリー: Product

自作のアプリを紹介しています。

開発者オプションチェッカー

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

開発者オプションチェッカーという名前ですが、現在のところ「アクティビティを保持しない」をONにしてるかどうかをチェックするだけのアプリです。

名前の通りAndroidアプリ開発者以外の人には無用の長物です。もしかしたら、私以外に欲しいと思っている人はいないかもしれません。

アピールポイントは、設定値の監視を行う割に、特別なパーミッションを要求しないという潔さがあるところです。

作った経緯

「アクティビティを保持しない」は、画面回転でアプリが突然の死を迎えないかチェックするのに重宝します。

一方で、これを有効にした状態だとActivityの通常のライフサイクルが確認できなくなります。普通ならホーム画面を出すと、ActivityはonStopで止まりますが、有効にしていると必ずonDestroyまでいって破棄されてしまいます。この状態では、例えばLoaderのレジューム処理が確認できなくなります。(というかこれが開発のきっかけでした)

「アクティビティを保持しない」を有効にしているかどうかは、渡しの場合だと通知領域を2回スワイプ→設定を表示→開発者オプションを表示→アクティビティを保持しないの状態を確認という操作を経ないと確認できませんでした。これがものすごく面倒くさい。

だったら通知などで「アクティビティを保持しない」の状態が分かれば便利なんじゃないかなと思って作りました。

本当は、アプリから「アクティビティを保持しない」の設定を切り替えられたら良かったのですが、設定値をアプリから切り替えることは不可能でした。設定値を書き換えるには特殊なパーミッションが必要であり、そのパーミッションを有効にできるのはシステムアプリのみという制限があったからです。

そのためこのアプリでは、「アクティビティを保持しない」の設定値を読み取ることしかできません。

このアプリを作って学んだこと

このアプリでService,AlarmManager,Widgetを初めて利用しました。ちょっとした思いつきの割に、いろいろ勉強になったなぁと思います。

もっとも、ウィジェットの更新時に一旦ボイスレコーダーのアイコンが表示されて、パッと更新されないのがよく分からないところです。

このアプリでできること

アクティビティを保持しないが有効になってるかどうかを知ることができる、ただそれだけです。

仕組みとしては、Serviceを常駐させて設定値の変更を監視させています。設定が変更されれば通知を表示させたりウィジェットを更新させたりしているだけです。

アプリを立ち上げれば現在の設定値を常に確認できるのですが、それではアプリを立ち上げなければ有効かどうかを確認することが出来ません。それはそれで手間です。

それを実現するには、私の頭ではServiceを常駐させる以外に手段が思いつきませんでした。

Serviceの常駐は、端末のリソースを専有し続けるためバッテリーへの影響がある、何をしているか分からないなどから、あまり気持ちのいいものではないと思います。そこで、常駐しないようにするオプションも設けました。

「アクティビティを保持しない」を有効にしているかどうかを知りたい頻度というのは人によって違うと思います。1日おきくらいで構わないという人もいれば、常に最新の状態で知っておきたいという人もいるかもしれません。

Serviceを常駐させていれば、「アクティビティを保持しない」の設定値を切り替えた瞬間に、その設定値が通知されるようになっています。これを無効にした場合、設定値を切り替えてもすぐには通知されなくなりますし、ウィジェットや通知で表示されている設定値と、今現在の「アクティビティを保持しない」の設定値が異なる場合があります。

Serviceを無効化すると、設定値の変更が検出できません。そのため一定間隔で設定値を確認するしか方法が思いつきませんでした。ウィジェットであれば、「アクティビティを保持しない」の設定値を切り替えてウィジェットの更新時間が来るまでの間は、古い状態が表示されてしまうことになります。

この辺り、何かしらうまい手段があればいいのになぁと思うのですが、何かいい方法があるのでしょうか。(設定値の変更がBroadcastされてればよかったのにとは思いました)

もっとも、Broadcastがシステムによって行われていたとしても、そのBroadcastを受け取るにはServiceなりを立ち上げてBroadcastReceiverを動かしていないと受け取れないのですけどね。

要望募集中

現在バージョン0.1です。開発者オプションチェッカーという名前の割に、「アクティビティを保持しない」しかチェックしないからというのがその理由です。

他の開発者オプションは、そもそも利用していないか、有効にしていたら画面の表示で有効であることが丸わかりなものが多いので、とりあえずはこれだけでいいかとリリースしました。

「こういう設定値もチェックしたい」という要望があればコメント貰えると嬉しいなと思います。

そもそも需要があるのかどうかすら謎ですが・・・。

カスタムフォトウォッチ

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

カスタムフォトウォッチ

Android Wearを使っていて、背景画像を自分の好きな画像に設定したいと思ったことはないでしょうか。そんな人にちょうどいいのがこのカスタムフォトウォッチです。

作成のきっかけはデフォルトで設定できるウォッチフェイスの中に、日付と曜日を表示するものがなかったことでした。下にスワイプすれば日付は表示されますが、曜日は出ないしいちいちスワイプするのも面倒くさいので、盤面に常に表示してあるのがほしいなと思ったのです。

今のところデジタル時計だけですが、アナログ形式は要望が多ければ追加するかもしれません。(個人的にアナログは見づらいので優先度低めです)

以下の説明はすべてVer1.0.1のものです。

インストールの仕方

アプリはGoogle Playにて公開中です。


Get it on Google Play

カスタムフォトウォッチを使うためには、Android Wear端末とGoogleのAndroid Wearアプリが別途必要です。どちらが欠けていてもカスタムフォトウォッチは利用できません。

カスタムフォトウォッチをスマホにインストールすると、ペアリングしているAndroid Wear端末にも自動的にカスタムフォトウォッチがインストールされます。(この際、インストールにしばらく時間がかかります)

Android Wear端末にもインストールが完了すると、スマホのAndroid Wearアプリを起動すればウォッチフェイスの中にカスタムフォトウォッチが追加されます。Android Wear端末でウォッチフェイスの変更からカスタムフォトウォッチを設定できますが、基本的な設定はスマホから行います。

カスタムフォトウォッチをウォッチフェイスに設定すると、カスタムフォトウォッチのアイコンに歯車マークが出ます。再度タップするとカスタムフォトウォッチの設定画面が起動します。

ウォッチフェイスの選択画面

ウォッチフェイスの選択画面

カスタムフォトウォッチの設定画面を開くと、最初にこの画面が表示されます。

ここでは壁紙の追加と、既に追加した壁紙への切り替えが行えます。

右下の+ボタンを押すと次の画像の編集画面に移行します。

追加済みの画像を単にタップすると、ウォッチフェイスの設定(時刻の表示設定)に移行します。長押しするとポップアップメニューが開き、ウォッチフェイスの設定画面を経ることなく画像の切り替えのみを行ったり、不要になった画像の削除ができます。

画像の編集画面

画像の編集

この画面で実際にAndroid Wear端末に転送する画像を作成します。

左下のアイコンを押すことで、スマホ内に保存されている画像を読み込むことができます。SDカードやGoogleドライブにある画像を指定可能です。

カメラのアイコンを押せばその場で写真の撮影を行い、その画像を読み込むこともできます。

Android Wearに表示されるのは中心の明るい部分です。範囲外の部分は切り取られます。

画面内に表示した画像はスワイプすることで移動が、二本指でピンチイン・アウトすることによって縮小・拡大ができますので、Android Wearに表示させたい部分が中心になるように調整してください。

枠は四角と円形の切り替えが可能です。フレーム枠の変更は右上にあるアイコンをタップすることで行えます。(メニューからでも可)

ちなみに枠はあくまで表示確認のためのものであり、枠を円形にしたとしても画像は四角で切り抜かれます。あくまで円形ディスプレイのAndroid Wear端末でどのように表示されるか確認するためのものだとお考えください。

枠の切り替えボタンの隣は、周りの半透明の部分を黒色で塗りつぶすボタンです。Android Wear端末に表示される部分が明確になるので、実際に表示されるとどう見えるのか確認したいときにお使いください。もう一度タップすれば元の半透明に戻ります。

表示位置が決まれば、右下のハサミのアイコンを押してください。画像が切り抜かれ、ウォッチフェイスの設定画面に移行します。

ウォッチフェイスの設定(時刻の表示設定)

ウォッチフェイスの設定

この画面ではAndroid Wearに表示される時刻や日付の表示設定が行えます。

変更できるのは文字の色、フォント、サイズです。日付に関しては表示形式も変更できます。

画像によっては色だけでは文字の識別が難しいと思います。そのような場合は縁取りを有効化してください。文字が黒で縁どりされるので視認性が向上します。

文字の設定は都度スマホの画面に反映されます。画像と文字の視認性のバランスをとりながら設定することができます。

文字の表示設定が決まればメニューのチェックマークを押せば設定が完了し、画像がAndroid Wear端末に転送されます。(端末のバックキーを押しても同様です)

ただしアプリをインストールした直後やAndroid Wear端末を再起動した後など、スマホで選んだ画像がAndroid Wear端末に転送されないことがあります。その場合、1分程度間を開けてから再度画像の切り替えを行ってみてください。

Google Playにて公開中

カスタムフォトウォッチ


Get it on Google Play

1分間タイマー

1分間タイマー

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

1分間タイマー

1分間タイマーは、1分間のカウントダウンを行うだけのシンプルなタイマーアプリです。

1分という短い時間に反復継続した作業をする際に、経過時間を管理する煩わしさを取り除いてくれます。利用者は作業に集中するだけで良くなり、最高のパフォーマンスを発揮することだけを考えれば良くなります。

作成のきっかけ

ゼロ秒思考という書籍をご存知でしょうか?

その書籍の中で、思考を早める訓練として1分間の間に思考を書き出す「メモ書き」というものが紹介されています。メモ書きは、1つのテーマに対しA4用紙に考えを書き出すという、思考の高速化を行うためのメソッドです。

私がこのメモ書きに出会ったのは、Schooの生放送授業がきっかけでした。授業内では講師の先生が1分間を計測してくださっていたので、とにかく文字を書くこと、考えることに集中することが出来ました。

しかし、いざ実際に自分ひとりでメモ書きを実践していこうと思うと、1分がたつのを自分で確認する必要があり、とても考えることに集中できませんでした。

自分は考えること、紙に文字を書くことだけに集中したい。自分の代わりに1分をカウントダウンしてくれる人がいれば集中できるのに・・・。

このアプリは、その「メモ書き」に集中し、経過秒数を管理する煩わしさから開放されるようにするために作りました。(アプリ作成の訓練も兼ねてではありますが・・・)

使い方

使い方は至ってシンプル。中央のボタンを押すことで1分間のカウントダウンを行います。

メモを書き出すことだけに集中できるように、1分間経過後にバイブレーションで通知するようになっています。 また、途中の経過秒数が分かるように、30秒経過時点、残り10秒時点、および5秒前から終了までを音声で通知します。バイブレーションおよび音声通知は、設定にてオン・オフの切り替えが可能です。

実行回数の記録

メモ書きは1日10枚行うことが推奨されています。いちいち「今何枚やったんだっけ?」と書き終わった紙の枚数を数えるのは面倒ですので、アプリを使ってカウントした回数を自動的に記録するようにしました。

メモ書きを実行した回数を自動的に記録します。タイマーを利用して、1分間経過した場合のみカウントアップします。 このカウンタは日付が変わった場合に自動的にゼロクリアされ、実行した記録として保存されます。

ログの確認

1分間タイマーを利用してカウントダウンした回数を記録し、ログとして確認することができます。毎日の実施回数を確認することに役立ちます。

ログはアプリの右上にあるカレンダーのアイコン(ログメニュー)から確認することができます。

アプリの入手方法

Google Playからダウンロードできます。

Get it on Google Play

実際にメモ書きする様子

アプリを使ったメモ書きの様子はこんな感じです。