マイナー・マイナー

隠れた名作の発掘が生きがい。

Androidアプリ『数独ソルバ』を作りました


スポンサードリンク

数独を自動解答するアプリを作ろう。それが、Android アプリ開発の最初の目標になりました。そして、実際に開発に着手し、なんとか形になってAndroid マーケットで公開することができました。ここでは、その数独アプリ開発の体験について述べていこうと思います。

成果


数値をタップ入力して右にフリックすると解答が得られます。数独ソルバのアプリは多く出回っていると思いますが、このアプリは、他のアプリと比較して、数値入力の手順を簡略化して高速入力を実現しています。
アプリは古くなったため公開を停止しました。

開発期間

開発開始は2月上旬でした。当初の予定では3月下旬に公開予定でしたが、Androidマーケットへの登録申請が遅れたために、公開は遅れて5月中旬となりました。登録には25ドルをクレジットカードで支払う方法がややこしくないのですが、そのクレジットは国際ブランドであるVISA やMasterCardでなければなりませんでした。3月下旬の僕はJCBのクレジットカードしか持っておらず、急遽3月下旬にvisaの申し込みを行ったために遅れてしまいました。あと、いよいよ公開準備をしようと思った矢先に、端末をトイレの便器に落として端末が起動しなくなるという悪夢なイベントが起こったのも公開遅延の一要因です。

参考にした資料

アプリ開発のために参考にした資料は、オライリーの『初めてのAndroid』です。Androidアプリの開発手順が説明されており、原則的な部分が押さえられているので、独学で勉強する際にはもってこいの優良書だと思います。また、アプリ自体は簡単であったこともあり、基本は参考書、分からないところはgoogle検索かAndroid APIで十分に対応できました。


初めてのAndroid 第3版

初めてのAndroid 第3版

感想

Androidの勉強を始めて約6ヶ月、Android端末へ機種変更してから約3ヶ月という初心者ですが、そんな僕でもアプリを公開できたというのは、なんというか感動です。


Androidアプリ開発を体験して思ったことは、思っていたよりもアプリ開発がやりやすいということです。Eclipseを利用してアプリを開発するのであれば、アプリのコンパイルから実行までをほぼ自動で行ってくれます。なので、いったん環境構築を整えてしまえばサクサク開発が行えます。エュレータも充実していて良い感じですが、エミュレータではセンサやUIの確認がいまいちやりにくいため、開発は実機を用いて行った方が断然良いと体感しました。


また、大きく反省したことは、メモリを気にせずに先へ先へとコーディングを進めていったことです。開発したアプリは、コード中のフィールド変数を2つ変更するだけで16x16の数独ソルバができるのですが、再帰処理が多くなる数独問題ではスタックオーバーフローがよく起こりました。これが起きた要因のひとつは、なんの考慮もなく数値をInteger型で扱ってしまったことにあると考えています。数値がShort型やByte型の変数であれば再帰処理に耐えられたかもしれませんが、スタックオーバーフローの問題に気づいた時には修正範囲が広くなりすぎていたため、修正をあきらめてやむなく16x16の数独解答機能の実装を断念しました。

まとめ

  • アプリ公開までに国際ブランドのクレジットカードを手に入れておこう
  • Android端末は早期に入手しておこう
  • メモリを意識しよう

以上がAndroidアプリ開発を経験して感じたことでした。