0067 androidアプリ制作で時間かかった事などの備忘録

 作りたいという欲求だけでAndroidアプリを制作してる。
まずWeb系(PHP、Javascript、HTML/CSS)がメインだけどプログラム規則が分かれば大丈夫でしょ、くらいに考えていたけどうまく行かないことが多かったので記録。


Android Studioのサポートは充実しているがJAVA自体は規則が厳しい

JAVAは大学の頃に少し触っていたけど、あのころはぜんぜん分かっていなかった。
というかPHPを触ってなかったからプログラムはそういう物って思っていたけどPHPを触った後だとかなり融通がきかない。たぶんPHPが柔軟過ぎるだけなのかも。
やりたいことがあったら調べるのはどの言語も同じだけど、様々なライブラリが容易されているけどその使い方とか用意されている使い方をしっかり知らないと動かない。
とりあえず試すのもコンパイルしてエミュレーター上で動かしてってなるからWeb系みたいに簡単に試せない。たぶんちゃんとJAVAの特性が分かってくれば簡単な試し方が身につくのかもしれないけど少なくともWeb系よりは面倒。
ただAndroid Studioのサポートがすんごい。
書き方がおかしかったら教えてくれて、しかも改善方法まで提示してくれる。
あんまり理解していなくてもこれで解決する場合もある。(もちろんちゃんと理解していたほうがいいが)
アプリを作りたいって目的でJAVA触っているけどその目的がなければ初心者には向かない言語だと思う。
もうちょっと柔軟性が高い言語から触ったほうがいい。

バージョンとエミュレーターで動かないことがある

これさー、ほんと面倒!!!!!
一応自分の方針では、最新BETAの一つ手前くらいが安定。
ただAndroidのバージョンは最新の普及率がよくないらしくてちょっと落としたバージョンで作っていたんだけど、バージョンによって書き方が違ったり、このバージョンのエミュでは動くけど別のエミュでは動かない、なんて事もあった。
バージョンで書き方が違うとか動かない事は他の言語でもあるけど、正しい書き方をしてもエミュレーターのバージョンで動かないのは盲点だった。
動かない場合、何個かエミュレーターもインストールして試したほうがいい。

DBとの直接接続は諦める。JDBCは信用できない

まずはやりたいことをやるためにJAVAからDB接続に着手したんだけど、これがまず出来ない!
「出来ない」は語弊があった。実際には4日くらい悩んだけど出来なかった、だ。
やり方を調べてすぐにJDBCというDB接続モジュールの存在と使い方がたくさん出てくるんだけど、実際に動かしてみると出来ない。(自分が未熟だからの可能性は大いにある)
調べていくとJAVA→API→DBがベターという記事も出てくるんだけど、「いやいや、そんなわけ無いでしょw これだけ普及している言語でDB接続できないわけがないw」って思ってがんばったんだけど、頑張ったが出来なかった。
しょうがないからPHPでAPIを作ってDB周りを操作できるようにした。
一応暗号化もして自由度を高く触れるようにAPIを作ったけどやっぱり直接触れたほうがいいよなーとは思う。
誰か直接DBを操作できる人がいれば環境から教えて欲しい。

外部との接続(インターネット)を使う場合は非同期処理

これ絶対なのかな?
とりあえず「この言語の決まり」と思って使って動いてるからいいけど、こういうところが規則に厳しいとセキュリティに厳しいって事なんだろうなーと思う。
こういう細かいのが多くて調べるのに時間がかかる。



まだこれからもいろいろ躓きそうだけど、前には進んでるしやりたいことはやれそう。
ただJAVAってなぜか日本語ドキュメント少ない。
なんでなん?人気無いの?
JAVAもだけどXMLもなかなか歯ごたえありそうなんだよなー、でもこっちはCSSが無いHTMLって感じだからまぁ難しいことは無さそう。


コメント

このブログの人気の投稿

0068 『バディミッションBOND』クリアの感想と書き散らし、購入迷っている人向けの指標など

0075 『ゼノブレイド3』クリアした感想 ネタバレ無し編 不満点もあるけど完成度が高い優等生作品

0070 スクエニへの勝手な失望と勝手な期待、ゲームを作る難しさなどなど