Andoridのカメラアプリ開発について
--------------------------------------------------------------------------
2013年8月某日 開発 ミズタク(仮名) 日報
--------------------------------------------------------------------------
[本日の業務]
~略~
[翌営業日の予定]
~略~
[コメント]
エラーハンドリングというものがあります。
通常、ディスプレイやスピーカー、カメラといったハードウェアや、ファイルの操作は、OSや組み込み系のファームウェアが管理しています。
アプリはOSが提供するAPIを介してこれらにアクセスします。
例えばC言語ならprintf()関数で画面に文字を表示、fopen()関数でファイルを開き、fread()、fwrite()関数で読み書きします。
ハードウェアやファイルというものはOSの都合で、アプリからの要求が通らないことがあります。
例えばファイルを他のアプリが使用中だから開けないなど。
そんなときはAPI関数がエラーコードを返して「今は都合が悪いんだよ」と教えてくれます。
それに対してアプリ側で行うのがエラーハンドリングです。
if (ファイルが開けなかった場合)
{
エラー処理
例えばメッセージボックスでファイルが開けなかった
旨をユーザーに伝えるなど
}
APIを呼び出した結果、何か問題があればエラーを返すのはOS側の責任です。
100円の商品に対して1,000円出したら900円のおつりが返るくらい当然のことです。
しかしAndroidのカメラ、あいつは駄目です。
フリーズします。
こちらがエラーハンドリングを用意していても、その部分まで到達してくれないので対策のしようがありません。
社会人何年目の人間が作ったAPIか知りませんが、問題があったらエラーを返すという基本が出来ていません。
ただ無言でシステム全体を停止させます。
報告・連絡・相談が出来ていないのです。
10,000円出したのに「1,000円だったヨ!」と言い張るコンビニ店員くらい質が悪いです。(実話)
そんなものを相手に闘っているアプリ開発者達を、「時々フリーズするので星一つとさせて頂きます」などと責めないであげてください。。。
------------------------------------------
常に前人未踏の地を歩くAndorid開発、関連文書もありました。
Andoridのカメラアプリ開発について
http://itpro.nikkeibp.co.jp/article/MAG/20110204/356905/mr.yamashita.pdf
今日も明日も、技術者は戦っています!
「和をもって夢に挑む」ワム・システム・デザイン株式会社