2016-04-20 151 views
1

在Android應用程序中,共享http客戶端實例的最佳方式是什麼?在活動之間共享httpClient實例的最佳方式?

我知道我應該分享會話數據併爲每個活動創建一個http客戶端實例,但不包括該方法如何在沒有全局共享在其中一個活動中創建的實例的情況下實現我的目標(如描述here)?

如何在每個活動中使用getContext()

感謝

+1

創建其持有的HttpClient參考一個單獨的類。 – Avi

+0

然後我如何在活動之間分享?謝謝 –

+0

如果您有一些不同的情況,請在此處定義,請查看提供的解決方案。謝謝 – Avi

回答

1

您可以創建初始化方法的單身類之後,所有的活動可以得到HTTP客戶端通過

ApiManager.getInstance().getClient(); 



    public static class ApiManager { 
     private static ApiManager sInstance; 
     private HttppClient mClient; 
     private ApiManager(Context pContext){ 
      mClient = new HttpClient(pContext); 
     } 

     public static void initializer(Context pContext){ 
      if(sInstance == null){ 
       synchronized (ApiManager.class){ 
        sInstance = new ApiManager(pContext); 
       } 
      } 
     } 

     public static ApiManager getInstance(){ 
      if(sInstance == null){ 
       throw new IllegalStateException("Get Instance can't be called before initializer"); 
      } 
      return sInstance; 
     } 

     public HttppClient getClient() { 
      return mClient; 
     } 
    } 
相關問題