2013-08-10 5 views
0
내가 인앱 결제를 추가하고 this official documentation

안드로이드 - ServiceConnection

에서 작업을하고 있어요

구현할 때 오류를 컴파일 내가 섹션 여기 Binding to IInAppBillingService

오전은 내 코드입니다 :

public class CommunityActivity extends BaseActivity implements ServiceConnection 
{ 
    ArrayAdapter<ChatMessage> adapter; 
    Dialog dialog; 
    ArrayList<ChatMessage> chat = new ArrayList <ChatMessage>();  

    IInAppBillingService mService; 

    ServiceConnection mServiceConn = new ServiceConnection() { 
      @Override 
      public void onServiceDisconnected(ComponentName name) { 
       mService = null; 
      } 

      @Override 
      public void onServiceConnected(ComponentName name, 
       IBinder service) { 
       mService = IInAppBillingService.Stub.asInterface(service); 
      } 
     }; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     FlurryAgent.onStartSession(this, "8CA5LTZ5M73EG8R35SXG"); 

     setContentView(R.layout.community); 

     bindService(new 
       Intent("com.android.vending.billing.InAppBillingService.BIND"), 
         mServiceConn, Context.BIND_AUTO_CREATE); 

하지만 onServiceConnected 및 onServiceDisconnected 메서드를 구현해야한다는 컴파일 오류가 발생합니다. 그러나 저는 예제를 제안한 방식으로 이미 추가했다고 생각했습니다.

어디서 잘못 되었나요? 감사!

답변

1

오류는 컴파일러가 유 CommunityActivity에서 구현이 두 기능 onServiceConnectedon ServiceDisconnected을 것으로 예상하고 지금

public class CommunityActivity extends BaseActivity implements ServiceConnection

을 다음과 같이 클래스를 선언 한 때문이다. 하지만이 수업에서는 그들을 찾을 수 없습니다.

이 코드는 implements ServiceConnection이며 코드를 성공적으로 컴파일해야합니다.

+0

감사하지만이 섹션에서는 ServiceConnection 인터페이스를 구현해야한다고 말합니다. 아니면 내가 그것을 오해 했습니까? – Genadinik

+0

이미 인터페이스를 구현하고 있습니다.'ServiceConnection mServiceConn = new ServiceConnection() {....}'과'mServiceConn'는 기본적으로 이미'bindService()'에서 사용하고 있습니다. 더 이상 클래스 정의에서'ServiceConnection'을 구현할 필요가 없습니다. –