2014-12-28 2 views
0

는 내가 의도 서비스를 만드는 오전위한 클래스를 생성하고이 의도 서비스 내에서이 같은 새로운 클래스를 만드는 오전 한번 새로운 Connection() 클래스를 만드시겠습니까? 제 말은이 서비스가 새로운 Connection() 클래스를 새로 생성하기 위해이 서비스를 호출하는 경우 이전 Connection() 클래스를 사용하는 경우이 서비스가 처음으로 새 Connection() 클래스를 만들도록 요청하는 것입니다.한 번 의도 서비스 내부

어떻게해야합니까?

+0

당신이 OS가 귀하의 서비스 모든 시간을 죽이고 다른'Connection' – pskink

+0

으로 다시 작성하지만 각 메시지에 대한 연결 클래스 request.How을 보내 내가이 문제를 해결해야 함을 필요로 할 수 없다? – Okan

+0

"바운드 [로컬] 서비스"패턴을 시도 했습니까? – pskink

답변

0

저장이 앱 클래스의 정적 변수와 같은 것을 수행

public class App extends Application { 
    private static Connection connection; 
    public Connection getConnectionInstance() { 
     if (connection == null) 
      connection = new Connection(); 
     return connection; 
    } 
} 

그리고 당신의 의도 서비스의

가 수행

((App)getApplication()).getConnectionInstance(); 

는이 클래스를 선언하는 것을 잊었다하지 마십시오을 귀하의 응용 프로그램 클래스.

<application 
    android:name="your.package.name.App" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
+0

상수 표현 – Okan

+0

으로 초기화하지 않는 한 정적이 아닌 내부 유형에서 필드 연결을 정적으로 선언 할 수 없습니다.이 클래스는 내부 클래스 여야한다고 말했습니까? 안드로이드에서 응용 프로그램이 무엇인지 확인하십시오 - http://developer.android.com/reference/android/app/Application.html – Divers

+0

충돌이 발생합니다 : http://prntscr.com/5lwaf3 – Okan

관련 문제