Developing Android Applications: Defensive Programming and Security