2012年10月12日金曜日

Android用落書きアプリ作った!

定期的に来るアプリ作りたい衝動によりまた新作アプリが完成しました。
製作時間約10時間w
突発的なものなんてこんなもんです。


今回のアプリは落書きアプリ!
よくあるアプリですが今回こんなアプリになったのにはちゃんと理由があるんです。
でも一旦置いておいてまずはアプリの紹介。


Web:"落書き帳 - Google Play の Android アプリ"
https://play.google.com/store/apps/details?id=org.maruju.android.rakugaki




アイコンのデザインは気にしたら負けです。
デザインセンス0だからアイコンとかUIが糞なのは諦めてください。

起動すると大体こんな画面。



キャンバスが表示されてそのままタッチで描けます。
そこだけ見るとよくあるアプリ。
むしろその辺のより断然機能すくn…ゲフンゲフン

でもこのアプリの特徴はそこではないんですね。
大事なのはその後です。
なんとアプリを終了させても落書きが残るのです!(下の画像参照)


この表示は画面を回転させようがロック画面に戻ろうがずっとそのまま。
まるでスマートフォンに直接ペンで落書きしたかのような見た目です。
スクリーンショットだと伝わりづらいけど実際使ってみればわかります!
特に不透明度高めにすると本当にマジックで書いたかのような感じ。

ちなみに画像は内部で勝手に保存されて起動時に復元されます。
手動での読み込み、保存はできずに本当に1枚きり。
まさしくスマートフォンに落書きしてる感覚ですね!(手抜きとも言う)


こんなアプリを何に使うのか?
実を言うと最初はネタアプリのつもりだったからそれほどはっきりしてないのです。

が、よくよく考えてみるとメモにいいのではないのかと思うのです。
たまに忘れないようにと手とかにマジックで軽くメモったりするあんな感じです。
最近はスマートフォンを見る機会も増えましたからそこにメモっておいても大体似た効果が期待できるんじゃないでしょうか?
とは言えスマートフォンの画面に物理的に書くわけにもいかないのでこのアプリの出番です。
ペンもいらず勝手に消えることもなくそれでいて用がすんだら綺麗サッパリ消せます。
バッチリですね!

他にも画面を暗くしたいとか友人を驚かせたいとかいろいろ使い方はあると思いますのでそこは皆様にお任せします。

ちょっとでも気になった人はぜひ使ってみてください。
アプリのダウンロード数が増えると私が喜びますw


----
ここからは制作の裏話的な何かです。

今回のこのアプリは最近作ってたアプリとはちょっと作る動機が違ったりします。
最近のアプリは全部こんなことがしたい!という目標があって作ったアプリばっかりだったんですね。
例えばQRコードを素早く読みたい!とかAmazonの持っていますリストを使いたい!とかそんな感じです。

でも今回はそうではなく独自のViewを作ってみたい!という内部的なお話がきっかけです。
今までいろいろアプリ作ってきましたがボタンとか画像とか文字とかAndroidに標準で用意されたものばかり使ってきました。
簡単なツール系のアプリならデザインはともかくそれで大体足りてしまうのです。
でもやっぱり一度ぐらい独自のViewを作ってみたいなーと考えたところ一番簡単そうなのがお絵かき系のアプリでした。
単純にタッチされた座標を取得して線を引きまくるだけなのでとっても簡単です。

とはいえお絵かき系のアプリなんていくらでもあるわけで機能じゃかないません。
そこで何か面白いことは無いかと考えて思い出したのが小学生の頃に遊んだ枠の外にもかけてしまうジョークソフトです。
ペイントっぽい見た目なのにキャンバスをはみ出すことが出来る感じで当時びっくりしました。
これをAndroidアプリっぽくしようかなーと考えてアプリを終了しても残るのが面白いんじゃないかな?ってことでこうなりました。
既に最前面へのオーバーレイ表示を行うアプリは作ったことがあるので実装自体は簡単にできますしおまけ機能としてはちょうどいいんじゃないかと。
上で書いた使い方は作ったあとに適当に考えましたものですw


最後にAndroidアプリにある権限の一つ「システムレベルの警告の表示」について。
今回のアプリでも使ってる権限ですね。

前から思ってましたがやっぱこれは怖い権限です。
どういう権限かというと通常のアプリ画面よりも前面に表示することが出来るというものです。
Androidの画面表示にはいくつかレイヤー的なのがありましていろんな表示が重なってできています。
例えば壁紙は常に後ろですしトースト(下に文字が出てくるあれ)はアプリの画面より上です。
ステータスバーは更にその上にいますしもっと上にはロック画面とかが表示されてます。
通常表示できるのはせいぜいトースト程度ですがこの権限を使うとロック画面の更に上に表示させることができます。
つまり画面ごと乗っ取ることができてしまいます。

これを使うと例えば画面を真っ黒にして何も見えなくすることも可能です 。
何も見えないままアプリを終了するのはかなり厳しいですよね。
そもそも設定次第では操作を下に伝えないこともできるのでもう何も出来ません。
起動時に実行の権限と組み合わさったりすると多分人によってはどうしようもなくなります。
おー怖い…
怪しい権限というと電話帳読み取りとかID読み取りとかそういうのに目が行きそうですけどこの辺の権限も危ないよということで覚えておいてください。

でもなんだかんだでこの権限を要求するアプリも多かったりします。
SwipePadとかも使ってます。
どんなアプリよりも前に表示されるという特徴を生かして他のアプリ使用中に起動できるランチャーになってます。
他にも常に前面に表示される時計やウィジェット、電卓、ブラウザ、動画プレイヤー等いろいろなものが既に公開されてます。
ステータスバーより上になることを利用してステータスバーに独自のステータスバーを重ねているアプリもあります。
他のアプリと同時に表示できる便利な方法なので使い方次第では面白いアプリが作れるのです。



つまりこの権限を使ってたとしてもよっぽど怪しいアプリで無い限り多分大丈夫です。
もちろん今回の落書きアプリも大丈夫!
最前面表示はしますが、必ず透けて見えるので操作ができなくなることはありません。
開発中はうっかり全部黒にしてしまってひどい目にあいましたけどね…
ちゃんと直してあるので大丈夫です。

0 件のコメント:

コメントを投稿