Bonsoir à tous !
Voilà, j'ai implémenté un singleton dans mon appli Android. L'idée est d'avoir une classe "utilitaire" permettant d'effectuer des traitements communs à plusieurs Activity.
Le souci de cette implémentation, c'est que j'ai besoin d'accéder au Context ou au ContentResolver pour certaines méthodes, afin de récupérer les contacts stockés sur le téléphone par exemple...
Du coup, voici comment j'ai résolu ce problème :
Ce qui n'est pas terrible. Un appel à Tools.instance() peut produire des NullPointerException si on n'a pas appelé l'autre méthode auparavant. Et appeler l'autre méthode avec le Context et le ContentResolver en paramètres est un peu fastidieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public static Tools instance(Context context, ContentResolver contentResolver) { if (instance == null) { instance = new Tools(context, contentResolver); } return instance; } public static Tools instance() { return instance; }
Je me demande donc si l'API Android propose quelque chose pour faire ça proprement ? Qu'avez-vous utilisé comme technique ?
Partager