2013-05-06 3 views
0

메신저는 실제로 사용자에게 DataSnap 서버에 대한 연결을 제공하는 Android 애플리케이션에서 작업하지만 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

보통 자바 예를 들어 문서의 정보는 다음의 제품에 여러 가지 방법이야 그들을 accessibile하게하십시오.

  1. 만들기 공공
  2. 만들기 개인 속성 및 get 및 set 메소드를 제공 속성. convension은 속성 이름의 첫 문자를 대문자로 가져 오거나 설정하는 것입니다. 이러한 메소드는 public이어야합니다.

일반적으로 다른 클래스의 개인 속성에 직접 액세스하지 않으므로 솔루션 n.2가 가장 좋습니다 (캡슐화 참조).

일반적으로 속성을 선언 할 때 속성을 선언 할 때 '기본값'으로 설정되어 있기 때문에 동일한 패키지에서 NetworkManager를 확장 한 다른 클래스에서 속성에 액세스 할 수 있습니다.

이 클래스가 단지 구성 매개 변수 소유자 인 경우이 속성을 정적 및 공용으로 만들 수도 있습니다. 따라서 클래스에 액세스하기 위해 클래스를 인스턴스화 할 필요가 없습니다.

+0

나는 두뇌를 사용해야하고 C++을 좋아해야합니다. 조언을 주셔서 감사합니다 ^^ – Jackyto

0

넣어 - 당신이 거기에 몇 가지 속성을 가진 클래스가있을 때 public TServerMethods1 getProxy(){ return proxy; }

+0

신이 너무 어리 석다. getters/setters><. 고마워요 =] – Jackyto

관련 문제