Help us understand the problem. What is going on with this article?

初心者がAndroidアプリ開発でマッチョなActivityを作り込むまで

More than 1 year has passed since last update.

不穏なタイトルになってしまいましたが
アプリを作るときに何を優先するかというとアプリが動くことだと思います。
きれいな設計を組み込むだけの技量がないならマッチョなActivityでもいいから
動くものにすることが大事だと思うに至ったまでの記録です。

概要

  • 作りたいアプリ
  • トライしたこと
  • 終わりに

作りたいアプリ

日常の作業は人に褒められたりしないが、モチベーションを保つには飴が欲しい。
褒められることがないなら褒めてくれるアプリを作ればいいじゃない!
というわけでTODOリストにログインボーナスや達成ボーナスがついたものを作ることにした。

きっかけ

艦隊これくしょん(艦これ)でストーリーは進めないで毎日演習してるときにコレは気持ちいなと思ったのがきっかけ
やることが単純で短時間で終わり達成感がある
やったことが目に見えるのが良い

艦これ
http://www.dmm.com/netgame/feature/kancolle.html

トライしたこと

アーキテクチャ

作りたいものは決まったが、マッチョなActivityはもういやだと思い
以下のアーキテクチャを検討した
- android-clean-architecture
- mvp+Databinding
- mvvvm + Databinding

これらを弄っててアプリ開発が進まなかった
android-clean-architectureはまったく理解できないのと、個人で作る分ではここまでしなくていいなと思ったが、
mvp-mvvmはどちらが良いか、これらはどのように実装するとスマートになるのかということを
サンプルを探したりして悩んでた。

ライブラリ

ライブラリを利用して開発効率を上げて
今後の機能追加で困らないようにしようと思い幾つかライブラリを検討した
必須だと思ったのは以下の2つ
- Android-Orma
- Dagger2

Android-Orma

ご存知Android-Orma
使いやすさに感動する

Dagger2

深夜にmoduleがーという説明を見てると一瞬で眠くなる
導入には至らず

終わりに

思い描いたUXUIには程遠いものが出来た。
設計、ライブラリの利用、新しい言語への移行全てうまく行かなかった。
しかし、とりあえず動く。ここからがスタートと思い開発を続けたい。
このアプリは年明けには改良してプレイストアに置いてみたい。

出来たアプリはこちら
全てのタスクを消化すると褒めてもらえる
スクリーンショット 2017-12-21 2.20.36.png

アプリはこちら(deploygateの共有リンクです)
https://dply.me/qt1j7l

ソースコードはここです。
https://github.com/yoshida0261/Act

買った本など

Androidを最初に学習するならmixiのAndroidTrainingを見るのが良いと思った。
https://github.com/mixi-inc/AndroidTraining

あとはここを参考にしていた
https://qiita.com/Reyurnible/items/5e57e44baeddd2149833

アーキテクチャで参照したurl

モジュールは分割したい、が構成は複雑にしたくないと思うとmvvm-Databinding
になりそうだけど、世の中のベストプラクティスはどうなっているのか知りたいので
この本を楽しみにしています
http://konifar.hatenablog.com/entry/2017/07/03/180535

android-clean-architecture

android-clean-architecture
https://github.com/android10/Android-CleanArchitecture
コードで流れを追う
https://qiita.com/takahirom/items/3dd66410280c989505fd
コンポーネント図?で解説
http://sys1yagi.hatenablog.com/entry/2017/06/24/220951

mvp

https://android.benigumo.com/20160729/android-architecture-blueprints/

mvvm + Databinding

http://e10dokup.hateblo.jp/entry/2017/05/07/171907
https://qiita.com/kobakei/items/ca8c492d32d7608ca7e5

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away