Androidアプリの3分タイマーをアップデートしました

いくつかバグを修正しました。詳細は下記でご確認ください。

3分タイマー – Google Play の Android アプリ

こんな単純なアプリでも、下記のような携帯ならではの対応が必要な状態変化方法が次々に見つかって、奥の深さを感じます。

  • スリープ
  • サスペンド(=deep sleep、画面が消えるだけではなくて電力消費抑制のために一部を除いてアプリの動きを止める)
  • 端末の回転による画面の縦⇔横の変換
  • バックボタンによる終了
  • ホームボタンによるバックグラウンドへの移行

中には状況が一致する日本語情報がほとんどない(検索ワードの知識不足のせいですが)ものもあり、調べては解決して進めていく作業が初々しくて良いです。

サスペンド対策についてはAlermManagerを使うのが根本的な対策だとは思いますが、シンプルなアプリには大げさな気もするのでWakeLockで対応しました。
WakeLockはリリースしないようなパスがあるとバッテリー浪費アプリになってしまうのが怖いですが。onDestroy()でリリースしたので、大丈夫なはずです…。

Androidアプリ「3分タイマー」を作りました

とにかく簡単に使える3分タイマーのAndroidアプリ、その名も「3分タイマー」を作りました。自分自身が欲しかったので。

3分タイマー – Google Play の Android アプリ

上記リンク先にも書きましたが、できることは

  1. アプリを起動する(と同時に自動でタイマーがスタートする)
  2. 3分たつと、ブルブル震えて報せてくれる

あとは終了ボタンでアプリを終了するだけ。
(起動後のスタートボタンをタップするのさえ面倒だったのです。)
Androidに入れておけば、いつか役に立つと思います。1台に1つ、ぜひどうぞ。

 

技術的な話

ここからは技術的な話。
前作の+東京+通勤+道中+Androidアプリ版はTitanium Mobileで作りましたが、今回は普通にJavaで作りました。
きっかけはAndroid Studioの公開です。Android StudioはまだBeta版ですが、なかなか使いやすいと思います。Eclipseよりも、Titanium Studioよりも、Androidアプリを作るには適していると思いました。
Titaniumで原因不明の異常終了に悩むより、参考情報の多いJavaで作った方が精神衛生上良い気がします。

Javaを使うのはかなり久しぶりなので、頭がぎゅっぎゅっと締められる感じがしてなかなか良かったです。少し文法も変わったみたいです。
今後もAndroidアプリを作っていくなら、素のJavaというよりはオレオレライブラリ(フレームワーク?)を少しずつ作っていくと思います。きっともう定番処理詰め合わせのライブラリがあるんでしょうが、今はまだそれよりも小さな頭で悩みつつ進めるのが心地よさそうです。

また、今回は多国語化として英語にも対応しました。(アイコンのみ言語による切り替えが無いですが。)Android StudioもGoogle Playも、多国語化しやすいよう便利にできてます。Javaがもっと簡単に多国語化する方法をサポートしてればもっと良かったのですが。
ただ、一番の問題は、英語を書く力が足りないことでした…。

PHP-Manual.cssを更新しました

なんとなく、PHP-Manual.cssを更新してみました。主に見た目の変更で、その中でも、グレー基調だったのを緑主体に変えたことが中心です。(安らぎを求めるなんて、疲れてるんでしょうか。)グラデーションもやめて、フラットデザインっぽくなって…ますか?

動作サンプルは、こちらのPHP マニュアルです。ちなみに、このマニュアルは毎週最新化されています。

そういえば、本家のPHPサイトが、かなり大きくデザイン変わりましたね。良くなったと思います。

PHP製お手軽マスタ管理ツールをGithubで公開しました

Excelのように気軽に編集できて、Excelよりも縛りのある汎用的なマスタ管理用ツールが欲しかったので作りました。Mastersです。今回はGithubで公開しました。

RailsのScaffoldのように編集するたびに画面遷移するのが嫌なので、表上でダブルクリックで編集できるようにしました。検索も好きな項目を好きなだけ指定して絞り込めるようにしました。

TODOとしては、

  • 日付の入力補助用にDatepickerを付ける
  • 外部キーはIDではなくそれを表す名前を表示する(編集モードにすれば今でも確認できますが)

といったところでしょうか。

技術的な話をすると、内部的にはP3 Frameworkを使っていて、jscdnやBootstrapCDN経由でjQuery, Twitter Bootstrap, Bootswatch, Font Awesomeを使っています。

ところで、今回はSourceTreeを使い始めた記念でGithubで公開しました。最近は勉強がてらGitを使うようにしてるのですが、1人で開発することが多いせいか、いまだにSubversionの方が便利な気がしてます…。

Google Search Date Limiterを更新しました

Googleの仕様変更により動かなくなっていたので更新しました。Userscripts.org(下記リンク)のページからインストールしてください。バージョン0.6.0です。

Google search date limiter for Greasemonkey

Googleが動的にいろんなタイミングで検索フォームをレンダリングするので、setInterval()を使って強引に処理するようにました。スマートではないですが。

また、期間の選択を変更後に入力欄でEnterしても期間の変更が反映されないので、期間を変更した場合は検索ボタンをクリックしてください…。

GCalendar Holidaysを「繰り返し」の予定に対応させました

祝日などのGoogleカレンダーの予定をYUI2やjQuery UIのDatepicker上に表示するGCalendar Holidaysですが、Googleカレンダーで「繰り返し」の予定を登録した場合は正しくDatepicker上に表示されないとrainさんから教えてもらいましたので、修正しました。修正後のバージョンは0.5.1です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

また、最近知ったのですが、GCalendar Holidaysで使っているGoogle Calendar API V2って既にDeprecatedで来年で廃止になるみたいですね。じゃあ最新のV3に移行すればよいかというと、V3は認証があるみたいなので、うーん、どうしましょうね。

サーバをAmazon EC2に移行しました

何となくグズグズして先延ばしにしていたのですが、一念発起してサーバをAmazon EC2に移行しました。下記のように、大幅なグレードアップです。スッキリしました。

  • ハードウェア:ドスパラのミニPC → Amazon EC2
  • OS:Windows XP → Amazon Linux
  • Webサーバ:Apache 2.2 → Apache 2.4 + mod_pagespeed + mod_security
  • PHP:PHP5.2 + eAccelerator → PHP5.4 + APC
  • DB:MySQL 5.0 → MySQL 5.5
  • DokuWiki:最新化、テーマは新テーマ”dokuwiki”

ドスパラのミニPCはカレコレ6年近くもほぼ連続稼動していたわけで、よくもまあ壊れなかったものだと思います。(内蔵ファンは動かなくなったので外付けファンを付けて冷やしてましたが。)

その他の感想としては、

  • Amazon LinuxはデフォルトのyumでApache2.4とかPHP5.4とか入れられるのが良い。ダウンロードが速いし。
  • mod_pagespeedは面白いけど、deflateとexpiresは自分できちんと設定したほうが良い。(対象が狭いので。)
  • mod_pagespeedのGoogle Analytics自動挿入は便利。
  • mod_securityのデフォルトのルールはDokuWikiと相性悪い。(デフォルトで使うものではないのだろうけど。)
  • PHP5.2から5.4への移行でエラーが出まくるとかと思ったけど、意外に大丈夫だった。
  • DokuWikiの新テーマは見やすくて使いやすくて良い。

 

GCalendar Holidaysを Datepickerの複数カレンダーに対応させました

匿名さんからのコメントで、jQuery UI Datepickerの複数カレンダー(numberOfMonths)の場合にGCalendar Holidaysで1つ目の月しか祝日が表示されないことを教えてもらったので、複数カレンダーでも祝日が表示されるようにアップデートしました。バージョン0.5.0です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

GCalendar Holidaysの更新は久しぶりです。

それにしても、Googleカレンダーの祝日から今年の春分の日が消えているのはなぜだろう。この間まで表示されてた気がするけどなあ…。