Si, si, va beh... dì la verità: è che non vuoi offrire da bere! hehehe
Anch'io, all'inizio, sono stato costretto ad utilizzare variabili globali, perché non è disponibile un ActivityForResult come in Java-Android (poi, col tempo, ho scoperto che posso utilizzare le CallSubDelayed, anche se non sono l'ideale per questo scopo).
Lo scopo era quello di avere un'Activity che gestisse ad esempio un Cliente e restituisse all'Activity chiamante un oggetto di tipo Cliente. Invece ho messo l'oggetto Cliente come pubblico nell'Activity Cliente.
Non è sbagliato, ovviamente, ma la "teorica perfezione" sarebbe che ogni blocco (che sia una routine, una classe, una Activity o altro) sia il più possibile indipendente. Per cui, invece di utilizzare una variabile globale, ad esempio l'oggetto Cliente, dovrei passare Cliente come parametro ad altri blocchi (sempre routine, classi, etc.)