2013-05-06 17 views
0

即時通訊實際上工作的Android應用程序,它提供了一個連接到DataSnap服務器的用戶,但我的NetworkManager類遇到問題。Android - 如何訪問另一個類的內容?

我希望能夠訪問其內容(用戶,主機,端口...),但我不能和我沒有在網上找到解決方案(或可能我沒有閱讀所有文章)

還有就是我對網絡管理器代碼:

package com.smdroid; 

import com.embarcadero.javaandroid.DSProxy.TServerMethods1; 
import com.embarcadero.javaandroid.DSRESTConnection; 

public class NetworkManager{ 
    DSRESTConnection  conn = new DSRESTConnection(); 
    TServerMethods1  proxy; 
    int     servId = 0; 
} 

,並在那裏我想打電話給我的階級和訪問內容:

public class ServerMenu extends Fragment { 

    TJSONArray  servList; 
    NetworkManager nm = NetworkManager; 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 

     final View servView = inflater.inflate(R.layout.server_menu, container, false); 

     try { 
      System.out.println(nm.proxy.ReverseString("reverse test")); 
     } catch (DBXException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     return servView; 
    }; 
} 

如果有人可以幫助我,這將是很好。謝謝你=) 問候,皮埃爾

回答

0

通常在Java中,當你有一個具有一些屬性有一類是幾種方法使他們Accessibile。

  1. 製作屬性公共
  2. 製作私有屬性,並提供get和set方法。對話框是用大寫字母的第一個字母來獲取或設置的。這些方法必須公開

通常,解決方案n.2是最好的解決方案,因爲您避免直接訪問來自其他類的私有屬性(請參閱封裝)。

一般情況下,當您聲明屬性時,您的訪問權限爲「默認」,因此您可以從另一個類中訪問它們,從而將NetworkManager擴展到同一個包中。

如果這個類只是一個配置參數的持有者,你甚至可以使這個屬性是靜態的和公共的,所以你不必實例化類來訪問它們。

+0

我應該用我的大腦,並用C++來做。感謝您的建議^^ – Jackyto 2013-05-06 14:51:32

0

把你的網絡管理器類中的公共方法,該方法返回的對象 - 例如 public TServerMethods1 getProxy(){ return proxy; }

+0

上帝,我很愚蠢,只是把getters/setters><。非常感謝=] – Jackyto 2013-05-06 14:50:01