2013-05-06 16 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