Android - 如何从另一个访问类内容?

时间:2013-05-06 14:02:25

标签: java android class datasnap

实际上我正在开发一个Android应用程序,它为用户提供了与DataSnap服务器的连接,但是我的NetworkManager类出了问题。

我希望我可以访问其内容(用户,主机,端口......)但我不能和我没有在线找到解决方案(或者可能是我没有阅读所有帖子)

网络管理员有我的代码:

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; 
    };
 }

如果有人可以帮助我,那就太好了。谢谢你=) 此致,皮埃尔

2 个答案:

答案 0 :(得分:0)

在NetworkManager类中添加一个返回对象的公共方法 - 例如 public TServerMethods1 getProxy(){ return proxy; }

答案 1 :(得分:0)

通常在Java中,当你有一个具有某些属性的类时,有几种方法可以使它们具有accessibile。

  1. 让属性公开
  2. 将属性设为私有,并提供get和set方法。对象是使用get或set,然后使用大写的属性名称的第一个字母。这些方法必须是公开的
  3. 通常,解决方案n.2是最好的解决方案,因为您可以避免直接访问其他类的私有属性(请参阅封装)。

    一般情况下,但不是你的情况,当你按照自己的方式声明属性时,你将访问权限设置为“默认”,这样你就可以从另一个在同一个包中扩展你的NetworkManager的类访问它们。

    如果此类只是一个配置参数持有者,您甚至可以将此属性设置为static和public,这样您就不必实例化该类来访问它们。