バドミントンプレーヤーいっしがアプリ開発に取り組んだり投げ出したりするブログ

スマホアプリ作ってみたい人が書いてます。ほんとはバドミントンしたい。

【iOS&Android】バドミントン団体戦オーダー勝率計算アプリ"AutoOrder"完成!

やっとApp Storeの審査が通りましたー!
これでiOS版とAndroid版の両方がリリースできました!

バドミントン団体戦オーダー勝率計算アプリ
【AutoOrder】

f:id:ishi-14:20150921101435p:plain



Android app on Google Play


バドミントンの団体戦のオーダーを考えるのに悩んでいませんか?

  • 相手チームは1人だけ強いので自チームの1番弱い選手に当てたいなー
  • 自分のチームは平均的に強いので、最もリスクの少ないオーダーを作りたいなー

・・・などなど

わたし自身、学生時代は関西リーグに所属していましたが、団体戦の2複3単のオーダーを考えるのが苦手でした。
今は東京実業団でプレーしていますが、今でも悩んでいます。
本当にこのオーダーの勝率が一番高いのかな、と。


そこで、自分でも欲しかったアプリを作ってしまいました!


自チームと相手チームの団体戦のオーダーの全組み合わせから、最も勝率が高いオーダーを計算してくれるアプリです!
これでもう悩む必要はありません!

デモ画面

単複連続出場をするかどうか(普通はしませんよね笑)、対戦形式を選びます
f:id:ishi-14:20150828215236p:plain


選手名を入力します
f:id:ishi-14:20150828215643p:plain


シングルスの強い順に並べ替えます
f:id:ishi-14:20150828215703p:plain


ダブルスの強い順に並べ替えます
f:id:ishi-14:20150828215714p:plain


結果がでます!勝率の高い順に並びます。オーダーをタップすると、詳細な結果画面にうつります
f:id:ishi-14:20150828215721p:plain


相手の全オーダー組み合わせに対する勝敗がわかります
f:id:ishi-14:20150828215729p:plain

onsenUIでnend広告まわりがうまくいかない

monaca、onsenUIでiOSAndroidアプリを作っていますが、nendの広告表示がうまくいきません。

ググって下記3サイトの方法をコピペ参考にして試しましたがうまくいきません。
あ、公式サイトの方法もコピペ参考にしたので4種類か。

ダメパターン
・そもそも広告が表示されない(pageの下に隠れてしまう?)
・広告をクリックするとブラウザで開かずに、アプリの中で開いてしまう。
 ハードのバックキーが効かなくなり、アプリを強制終了するしかなくなる。
・広告をクリックすると、HTMLビューアで開きますか?みたいな関連付けがでる。



keimapj.hatenablog.com
⇨広告をクリックすると、HTMLビューアで開きますか?みたいな関連付けがでる。furoshiki.tokyo
⇨そもそも広告が表示されない(pageの下に隠れてしまう?)d-yummy.hatenablog.com
⇨広告をクリックするとブラウザで開かずに、アプリの中で開いてしまう。
 ハードのバックキーが効かなくなり、アプリを強制終了するしかなくなる。

何が悪いのかもわからない。。。

バドミントン団体戦オーダー勝率計算アプリ"AutoOrder"完成!

バドミントンに関するAndroidアプリをリリースしました!


バドミントン団体戦オーダー勝率計算アプリ
AutoOrder

AutoOrder - Google Play の Android アプリ



バドミントンの団体戦のオーダーを考えるのに悩んでいませんか?

  • 相手チームは1人だけ強いので自チームの1番弱い選手に当てたいなー
  • 自分のチームは平均的に強いので、最もリスクの少ないオーダーを作りたいなー

・・・などなど

わたし自身、学生時代は関西リーグに所属していましたが、団体戦の2複3単のオーダーを考えるのが苦手でした。
今は東京実業団でプレーしていますが、今でも悩んでいます。
本当にこのオーダーの勝率が一番高いのかな、と。


そこで、自分でも欲しかったアプリを作ってしまいました!


自チームと相手チームの団体戦のオーダーの全組み合わせから、最も勝率が高いオーダーを計算してくれるアプリです!
これでもう悩む必要はありません!

デモ画面

単複連続出場をするかどうか(普通はしませんよね笑)、対戦形式を選びます
f:id:ishi-14:20150828215236p:plain


選手名を入力します
f:id:ishi-14:20150828215643p:plain


シングルスの強い順に並べ替えます
f:id:ishi-14:20150828215703p:plain


ダブルスの強い順に並べ替えます
f:id:ishi-14:20150828215714p:plain


結果がでます!勝率の高い順に並びます。オーダーをタップすると、詳細な結果画面にうつります
f:id:ishi-14:20150828215721p:plain


相手の全オーダー組み合わせに対する勝敗がわかります
f:id:ishi-14:20150828215729p:plain



あとがき

初心者でもここまでできました、やったー!!
iOSアプリも完成していて、Appleで審査中です。
審査が終わるまでに平均6日ぐらいかかるらしいですねー待ち遠しい!

次は広告をつけてみよう。

AngularJSを意識すれば解決した

前の記事でng-repeatがうまく展開できないとかなんとか言ってましたが、できました。

for文でng-repeatを回すなんて変なことはせず、見本通りに配列を渡す方式にしたらできました。

そのほかダメな部分も見直し完了!
AngularJS、OnsenUI、javascriptjQueryなどのそれぞれの書き方、担当範囲などを理解していないのが原因でしたとさ。

AngularJSチックに書くぞ!と気合を入れて初めから作り直したらぜーんぶまるっと上手くいった!
コード量は半分以下になった!
見やすいし書きやすいしアングラーすごい!
$scopeが意味不明とか思ってたけど、作ってるうちにわかってきたー!

ng-repeatの中でspanのidをインクリメントして内容を出し分けたい

少しアプリ開発とブログから離れていましたが、戻ってきました!

前回はng-repeatというビルトインディレクティブが使えるんじゃないか??
というところでした。

開発中のアプリになんとかng-repeatを適用することができて、html部分のコード量を大幅に減らすことができました!
(以前はidが1から12まで増えるだけリストをベタ書きで12回書いていた…)



と こ ろ が



12個のリストのガラは表示されているが、肝心の文字が表示されていない!

<ng-repeatで作った>
f:id:ishi-14:20150727102402p:plain

<htmlのベタ書きで作った>
f:id:ishi-14:20150516081600j:plain




なんでだ!



表示される文字(この画面では選手名)をspanのidごとに割り当てる動作は、
この画面を呼び出す直前にjavascriptで行っている。(と思っています)

▪️想定の動き
①画面の初期化
  ↓
②pageinitで初期化を検知して、javascriptでspanのidごとに選手名を割り当て
  ↓
③画面が表示される(spanのidごとに選手名が入っている)

という順番だと思っていたけど、ng-repeatはどのタイミングで展開されるんだろう…
わからない

OnsenUIはAngularJSをベースにしたフレームワークです

OnsenUIはAngularJSをベースにしたフレームワークです。

ってめっちゃ書いてあったーーー!!
この本に

ということは、HTMLの繰り返し記述はng-repeatディレクティブで実現できる!

…らしい。

場合分けしてタグを出したりひっこめたりするのにはng-showというのが使えるらしい。
すごい。


AngularJSの勉強するぞー!

でも今まで作ってきた部分はAngularJSを意識した記述になってないから、変更したら動かなくなりそうで怖い…

HTMLの繰り返し部分をベタ書きするのをやめたい

ブログの更新はできてなかったけど、アプリの方は着々と進んできた!

わからないこととか、つまづいたところをブログに書こうと思ってたけど、だいたい1時間も調べれば解決するし、解決したら続きを制作するのが楽しくて、ついブログの更新を忘れる。

画面とかUIはだいたい完成したけど、解決したい課題がある。
題名にも書いたけど、HTMLで繰り返し記述してる部分をやめたい。

f:id:ishi-14:20150516081600j:plain

この画面は12行あるけど、なんとベタ書きで書いてる…
タグのIDは1から12までインクリメントされてるからとりあえずベタ書きにしたけど、絶対うまい書き方ある…はず
直したい!調べます。

そもそもjavascriptでタグを出したりひっこめたりするのもできてない。
今は必要ないからいいけど、そんなやり方あるに決まってる!気がしてる。

                              • -

追記

ググったらでてきたよね…
document.writeというメソッドでHTMLのBODY部分作れるのか…
それをFor文でまわせばいけるのかなー。
タグのIDを可変にもできるのかな。
帰ったらやってみよう。