Android corrige la manière d'utiliser OKHTTP singleton pour des requêtes parallèles avec des cookies

Je travaille sur un projet d'android dans lequel je prévois remplacer l'implémentation de httpclient d'Apache par le client OKHTTP. J'aimerais savoir comment je peux créer un client global qui peut être utilisé pour les demandes de mise en réseau dans différentes activités et services qui utiliseront le multi-threading du client. Devrais-je créer un objet singleton de OKHTTPClient et le réutiliser dans mon code?

De plus, où puis-je ajouter le cookiestore à la demande, dans la définition globale du client afin que toutes les demandes aient des cookies disponibles ou lors de la formation de la demande dans une activité ou un service individuel?

  • Les applications mobiles doivent-elles se conformer à la loi sur les cookies de l'UE?
  • Comment mettre en œuvre Android Volley avec OkHttp 2.0?
  • Télécharger la progression avec RxJava, OkHttp et Okio dans Android
  • Okhttp intercepteur loggin dans multipart
  • Est-ce que Retrofit + Okhttp utilise httpCaching comme défaut dans Android?
  • Amélioration de l'authentification personnalisée Client for WebTokens
  • Crashlytics / Fabric ne signale pas de pannes sur Android
  • X509TrustManager implémentation de tissu / crashlytics insécurité?
  • Comment importer uniquement ABI de bibliothèque native sélectionnée à partir d'AAR?
  • Impossible de créer une application Android FabricGenerateResourcesDebug
  • Android n'a pas pu trouver cette application dans le PackageManager io.crash.air
  • Qu'est-ce que transitive = vrai dans Gradle exactement faire (wrt crashlytics)?
  • One Solution collect form web for “Android corrige la manière d'utiliser OKHTTP singleton pour des requêtes parallèles avec des cookies”

    L'approche générale d'utilisation d'OkHttp est une instance OkHttp avec une instance HttpResponseCache. Qu'il soit nécessaire de créer en tant que singleton dépend des exigences de votre application. Par exemple, l'instance unique d'OkHttp peut être créée dans une sous-classe de l'application Android.onCreate (), auquel cas il ne doit pas nécessairement être un single si vous créez la sous-classe de votre application Android de la classe Application uniqueton.

    Quote de leur wiki :

    "La plupart des applications devraient appeler une nouvelle OkHttp () exactement une fois, la configurer avec leur cache et utiliser cette même instance partout".

    Une fois que vous avez créé votre instance OkHttp, vous pouvez utiliser leur méthode API setCookieHandler() pour ajouter un cookie store persistant, qui sera utilisé dans toutes les requêtes HTTP ultérieures. Consultez cette réponse SO pour plus de détails sur la mise en œuvre d'un cookiestore qui fonctionne avec OkHttp.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.