こんにちは!データベースからデータを取り出す際によくCursorIndexOutOfBoundsExceptionと怒られるヨースケです。だいたいがmoveToFirst()の書き忘れで、初めてデータベースを使ったときもこのエラーでした。最初は訳も分からずめちゃくちゃ原因を特定するのにだいぶ時間がかかりました(笑)。
今回はアプリ開発をするときに気を付けていること、心掛けていることを書いていこうと思います。
- 普段使っているアプリを注意深く見る
- コピーはするがペーストはしない
- ユーザー目線
- 設計書的なものを書く
普段使っているアプリを注意深く見る
これは開発する時のレイアウトの参考になります。特に意識はしていませんが、初めて使うアプリやいろんなところで見かける端末で表示されているシステムチック?なものを見るとどういうプログラムなのかなぁとか、これはダイアログを使っているのかな?とか考えちゃいます。
例えば
Twitterのプロフィールを見るとオプションメニューやタブパネルを使っているのかな?と考えます。
個人的に好きな画面があって、パズドラの
進化サーチボタンを押したときに見えるこの画面。非常に簡潔で進化させるにはどの素材が必要なのかも一目瞭然で分かりやすいですね。それともう一つが、
これです。ソーシャルゲームは結構複雑になるので、いちいちそれ専用の画面を用意して遷移する。といった煩わしさがなく、ユーザー目線で良い画面だと僕は思います。
コピーはするがペーストはしない
これは大学からJavaを習い始めて決めていることです。最初は全く分からなくて授業ではかなりつまづいていました。演習問題では友達に見せてもらうこともしばしば...で悔しい思いもありました。
アプリ開発をしていると参考書を見ても分からないことがありネットに頼る、なんてことは皆さんも経験があると思います。コピペは確かに楽ではありますが、それでは自分のためにならないと思います。一から自分で打ってどういう動きになるかを理解しながらプログラムを組むことが大切かなと思います。
ユーザー目線
前のパズドラの画面でも触れましたが、多くの人が扱うアプリでは簡潔なものが求められます。どういう風なレイアウトにすればよいか、分かりやすくするにはどうすればよいかetc...開発者、特に個人でやっている人はかなり悩みます。実際僕もこのアプリを使う人が理解できるのか?複雑になっていないか?ユーザーを困らせるような処理・表示になっていないかなど、全員が全員「OK」と言えるようなアプリは難しいですがそういう風に近づいていけばなと思います。
アプリは当然、初めて使う人が多いと思います。例えば
無料通信アプリの『LINE』のウォレットの画面ではどうでしょうか?一つの画面に16種類以上の機能がありますね。ご覧の通りよくわからないものばかりで何も触っていないのでNewマークがついています(笑)。ある程度いじったことがあればそこまでないと思いますが、これを初めて見たらいろんなのがあって気後れしちゃうのかなー思ってしまいます。LINEを否定するつもりはありませんし、気軽に友達と繋がられる便利なツールだと思っています。機能が増えるのは良いですが、ユーザーが分かりやすいレイアウトも大事なのかなと思います。(まぁこれはこれでいいのかもしれません...)
設計書的なものを書く
これはメモ程度だと考えていいと思います。僕の場合は誰かに見せるわけでも、発表会をするわけでもないのでExcelに
↑こんな感じでまとめています。また、ノートにも思いついたことや複雑なシステムを考えるときに書きなぐっています。これをするとどういう目的のアプリなのか、遷移図、詳しい機能やプログラム的な話などを振り返ったり、考え直したりできます。
以上がAndroidアプリを作るときに僕が心掛けていることです。「そうなんだ~」程度で見ていただけたら幸いです。長文失礼しました。