2015-01-27 2 views
0

상자 -api에 초보자인데 상자 java sdk의 새 버전으로 이벤트를 처리하는 데 흥미 롭습니다. 나는 이벤트에 관한 문서를 읽었고 다음 코드 만 찾았습니다.box-api에서 java를 사용하여 이벤트 처리

누구든지 파일 업로드와 같은 코드를 도와 주면 감사하겠습니다. 여기

BoxAPIConnection api = new BoxAPIConnection("YOUR-DEVELOPER-TOKEN"); 
    EventStream stream = new EventStream(api); 
    stream.addListener(new EventListener() { 
     public void onEvent(BoxEvent event) { 
      // Handle the event. 
      ???? Need help here ???? 
     } 
    }); 
    stream.start(); 

답변

1

당신은에이야을 오른쪽 트랙에 EventListener. 당신의 onEvent(BoxEvent) 방법은, 먼저 당신이 뭔가에 관심있는 이벤트의 종류에 필터링 할 수 있습니다 :

if (event.getType() == BoxEvent.Type.ITEM_UPLOAD) { 
    // Do something 
} 

또한 지원되는 이벤트 유형 in the javadocs의 전체 목록을 찾을 수 있습니다.

이벤트 유형을 알았 으면 이벤트 소스를 적절한 유형으로 캐스팅 할 수 있습니다. 예를 들어 BoxEvent.Type.ITEM_UPLOAD 이벤트를 처리하는 경우 이벤트 소스는 BoxItem이됩니다.

if (event.getType() == BoxEvent.Type.ITEM_UPLOAD) { 
    BoxItem uploadedItem = (BoxItem) event.getSource(); 

    // Do something with the uploaded item. For this example, we'll just print 
    // out its name. 
    BoxItem.Info itemInfo = uploadedItem.getInfo(); 
    System.out.format("A file named '%s' was uploaded.\n", itemInfo.getName()); 
} 
+0

좋은 답변, 고맙습니다. – Luis

0

당신은 이벤트 목록이 : https://developers.box.com/docs/

을 그래서 당신은 어디를 ??? 코드에서

if(event == ITEM_UPLOAD) 
{ 
//your action 
} 


or 

if(event == "ITEM_UPLOAD") 
{ 
{ 
//your action 
} 
} 

을 시도하거나이 아마 올바른 :

if(event.type == "ITEM_UPLOAD") 
    { 
    //your action 
    } 

을 그리고 당신은 쓰기이 내부의 onEvent() 점점 어떤 이벤트 참조 :

System.out.println("Event: " + event); 
+0

미안하지만 예제가 작동하지 않습니다. 해결책은 event.getType()입니다. event.getSorce() 및 event.parseJsonMember (member)를 사용하여 이벤트 응답을 작성하려고하는데 어떻게해야할지 모르겠다. – Luis