Androidのプログラミングって初めはそれ程難しくないと思います。
アクティビティやウィジェットやらインテントもすんなりと行ける。
実際にスマホで動くと面白い。コードも少なくてすむ。
GUIの変更はシングルスレッドしかできない、
そのときはハンドラーを使ってGUIの変更をする。
ここらへんまではなんとかイケルと思う。
ところがサービスになると一気に難しくなります。
難しくなるポイントはやはり連携、データの受け渡しでしょうか。
非同期でAsync、サービスからはブロードキャスト、
しかもエラーが出てくる。
こうなるともういけない。挫折するポイントだと思います。
案外xmlでGUI設定、この時点で面倒くさくなりますね。