2015-05-01
- - - - -
アプリのつくり方 vol.1
スマートフォンやタブレットで動いているアプリ。
これの作り方を実際にストアへアップしているアプリのソースコードも公開しながら紹介していきます。
アプリ開発やってみたいけどハードル高いんじゃないかなって尻込みしている方に、
「あ、なんだアプリってこんな簡単にできるんだ」って思ってもらえたら幸いです。
クイズゲームアプリ「ポン太クイズ100」は4択クイズのアプリケーションです。
下記QRコードかGoogle playで「ポン太クイズ100」で検索して動かしてみてください、
広告もないただの無料アプリですのでお気軽にどうぞ。

ポン太クイズ100
→ http://goo.gl/bSHD2Y

アイコンがポワーっとした顔してますが(笑)ちゃんと動きます。
さて、このアプリはどんなふうに動いているかというと。
10問コース、50問コース、100問コースがあって、
4つの選択肢からひとつ選んでこたえます。
アタリならリンゴンリンゴンと音が鳴って正解画面が表示され、
ハズレたらブッブーと不正解が表示され、詳しい解説もいっしょに見られます。
コースを完了すると、結果が表示され、正解数によってメダルが与えられ、
結果はツイッターでツイートもできます。
途中で電話がかかってきたら、後で「つづき」を選んでプレイできます。
BGMも充実していて、音はオンオフもできます。
と、こんな感じのクイズゲームアプリです。
これをどう実現しているかというと。
問題文の管理にスマートフォンやタブレットの中にあるデータベースを利用しています。
WebアプリケーションでMySQLやPostgreSQLがあるように、AndroidにはSQLiteというデータベースがあります。アプリケーションのプログラムからの使い方はそんなに変わりませんのでSQLをさわったことがあるなら、たぶんそんなに難しくありません。
データはプログラムコード内に直接書いても動きますが、今回は問題文が100問もあるのでSQL文をアセットファイルで用意しておいて、初回起動時に端末のデータベースへ展開しています。問題文をブラウザから管理できる環境もてきとうにですが作りました(おいおい載せます)。
データベースの中の問題文にはそれぞれID番号がついています。
プレイヤーがゲームを開始すると、ID番号をシャッフルしたIDのリストが作られます。
IDリストはコースを完走するまでSaveInstanceStateで保持させています。
これをしないと電話がかかってきただけでゲームが最初からになってしまいます。
ざっと、こんなところです。
さて、開発にはツールが必要です。
Androidのアプリケーション開発には、以前はEclipseを使っていましたが最近はAndroid Studioを使っています。
Mac版もWindows版もLinux版もあります。EclipseにAndroidのSDKを組み込んで開発環境を構築していた頃にくらべると、インストールするだけで作れますので簡単です。
使い方はそんなに変わりません。
Android Studioは下記からダウンロードできます。
http://developer.android.com/sdk/index.html
(Android Studioについては以前こっちにも書きました)

「Download Android Studio」をクリックしてダウンロードします。
ダウンロードしたファイルをダブルクリックすると、
「Android Studio」というアイコンがありますので、
「Application」フォルダへドラッグドロップします。

「Android Studio」をクリックして起動します。
初回起動時には「開発元が未確認のため開けません」とダイアログが出る場合があります。
最近のMacはAppStore以外のアプリを動かそうとするとこんな感じです。
そんなときは、アイコンをControlキーを押しながらクリックするか、もしくは右クリックしてポップアップメニューを出して「開く」を選択します。
「You can import your settings from〜」などと既存の設定をインポートするかどうか聞いてきます、
初めてなので「I do not have a previous version of Android Studio 〜」を選択します。
自動的にネットからいろいろダウンロードしますので、
ここで少し時間がかかります、
コーヒーでも飲んで待ちましょう。
「Welcome to Android Studio」の画面が表示されれば完了です。
インストールはこれでおしまいです。
Eclipseの頃にくらべると涙でてくるほどカンタンになりましたね。
これでAndroidのアプリ開発がはじめられます。
《つづく》

関連リンク:
・立山ポン太朗公式サイト→
・ポン太の「とやまの豆知識」クイズアプリ発進!(BAKABIKEのブログ)→
08:20:32 | tsuka | 日常 | 0 TrackBacks | 0 comments | Permalink
- - - - -
2015-04-07
- - - - -
お知らせ
まずはAndroidから〜。
誰でも無料で使えるAndroid Studioを使ったアプリ開発の仕方を、
ポン太クイズ100のプログラムを公開しながらやります。
おったのしみに〜。

紹介したソースコードは自由に使ってください〜ラララ〜 ( ̄(工) ̄)φ

←ポン太朗のアプリは左のQRコードから
意外に富山にもある日本一!自然の王国とやまのトリビアをどうぞ

富山在住の方は郷土愛の点検にどうぞ!
07:28:00 | tsuka | 日常 | 0 TrackBacks | 0 comments | Permalink
- - - - -
2014-12-02
- - - - -
Amazon APIのコード
ファイルセットは下記の通り
・amazonapi.php(基底クラス)
・myamazon.php(継承クラス)
・test_myama.php(テストページ)
・adv.css(テストページのCSS)
・cache(キャッシュフォルダ)
AWSから取得したXMLはキーワードやASINコードのMD5ファイル名でキャッシュしますので、キャッシュフォルダには書き込み権限を与えます(chmodで755や777に)、キャッシュはcronなどで24時間で消すようにします。
継承クラスMyAmazonの下記の3行は自分のAccess Key ID、Secret Access Key、アソシエイトIDにします。(myamazon.phpの8〜10行目)
// AWS user configurations
protected $AccessKeyId = '****************';
protected $SecretAccessKey = '****************';
protected $AssociateTag = '********';
デモページではテストなのでxml->Items->Item->EditorialReviews->EditorialReview->Contentを参照して商品説明を表示させていますが、商品説明にはタグの整合性がとれていないアイテムがたまにありますので、通常はResponseGroupはImages,ItemAttributesでの参照になると思います。
ソースにはコメントで入れてあります。(myamazon.phpの33〜34行と57〜58行)
Images,ItemAttributesの方が1アイテムあたりのキャッシュサイズも1Kbyte程度小さくて済みます。
'ResponseGroup' => 'Medium',
// 'ResponseGroup' => 'Images,ItemAttributes',
この記事についたタグ【プログラミング】
14:30:15 | tsuka | 日常 | 0 TrackBacks | 0 comments | Permalink
- - - - -
2014-11-28
- - - - -
そろそろ冬支度

NIKON D40 F1.4 1/80 ISO400, Ai AF Nikkor 50mm f/1.4D
そろそろ冬ですね
こっちのブログもリニューしないとなぁ・・とりあえず本サイトからか
この記事についたタグ【写真】
10:57:39 | tsuka | 日常 | 0 TrackBacks | 0 comments | Permalink
- - - - -
2014-11-27
- - - - -
Photo Book
ウィスコンシンに1週間ほどいたとき、たまたまその子のサッカーの試合があって。子供の動きって予測が追いつかないから、どんな仕事よりも機材のテストになるね。BEST BUYで急遽買ったD800のテストにもなったよ。その時の写真を本にした。

NIKON D800 F5.6 1/15 ISO800, AF-S NIKKOR 50mm f/1.4G
製本には、いわゆるPhotoBook系のサービスを使った。
MyBOOKというサイトからネットで全て注文できた。
ハードカバーで注文したんだけど製本もしっかりしていた。
とどいた本を幼稚園に持って行って「先生や友達に見せる!」今後また来たら「ホッケーの試合を見せたい!」と大はしゃぎだそうでMyBOOKに感謝です。良いサービスです。
D800はD3のような一桁機よりは小ぶりだから走りまわって撮るのも楽だった。シャッタースピードをかせぐのにISO感度を上げても奇麗に写るし◎、難点はスポーツには連射スピードが遅いこと、ワインダーみたいなパワーパック付ければ速くなるのかな・・
この記事についたタグ【写真】
18:13:40 | tsuka | 日常 | 0 TrackBacks | 0 comments | Permalink
- - - - -
2014-11-19
- - - - -
古い腕時計
この記事についたタグ【写真】
18:38:44 | tsuka | 日常 | 0 TrackBacks | 0 comments | Permalink
- - - - -
Re2:すいか街道(tsuka)
Re1:すいか街道(銀(ポンちゃんファン☆))
Re2:富山市 - 桜、満開(tsuka)
Re1:富山市 - 桜、満開(風來坊主)
Re2:CENTRAM(セントラム)壁紙(tsuka)
Re1:CENTRAM(セントラム)壁紙(かんたな)
Re2:変換用のスクリプト(tsuka)
Re1:変換用のスクリプト(かんたな)
Re2:フライヤー撮影(tsuka)