Androidを本格的にやり始めて1ヶ月弱の初心者がAndroidBestPracticeやDroidKaigiの公式アプリのパッケージ構成や経験などを混ぜあわせて、Android Studioのパッケージ構成を考えましたのでメモ代わりに残します。
学び始めの方は、{アプリ名}/直下にすべてのファイルをぶち込んでいましたが、どんどん増えるにつれ手に負えなくなっていきました。
そこで他の人はどうやってるんだろうと思いつつGoogleのandroid-architectureみたり、Android Best Practiceなんか見たけどどれもバラバラで、結局は自分が好きなように構成しつつ、他人が見てもある程度分かる構成であれば良いんじゃね?という考えに至りました。
でこんな感じに
├─pojo
├─network
├─database
├─models
├─services
├─utils
├─fragments
└─views
├─adapter
├─notification
├─toolbar
└─widgets
上から順に、pojoはデータ受け渡しやJackson/Gsonなどで使うpojoを入れるパッケージ
networkはインターネットを使った通信。APIの呼び出しやネットワーク通信で使用するクラスを入れるパッケージ。
databaseはデータベース操作用のクラスを入れるパッケージ。
modelはMVCでいうM部分に当たる。
serviceはアプリがバックグラウンドになっている時に実行するクラスを入れるパッケージ。
utilsはmodelに入れるまでもない汎用的に使うクラスをいれるパッケージ。
fragmentは文字どうりFragmentを格納するパッケージ。
viewsの中には複数あり、ほとんど文字道理の名前です
adapterは文字どうり、Adapterを格納するパッケージ。
notificationも文字道理通知のクラスを入れるパッケージ。
toolbarは、上のアプリのタイトルが表示される部分(以前はActionBarと呼ばれていたらしい)に関するクラスを入れるパッケージ。
widgetは、ホームスクリーンに表示される部分の処理があるクラスを入れるパッケージ。
自分ののかでベースとなるパッケージ構成を決めるとだいぶ開発が楽になるので、Android開発を始めた初学者の方々は、パッケージ構成を考えてテンプレ化することをおすすめします。
あ、もちろん書いてる自分も初学者なのでマサカリ投擲お願いします。