첨부한 사진의 Action.create 부분에서 에러가 나는데
라이브러리 1.2.0 에서는 컴파일이 가능합니다..
어떻게 해결해야 하나요?
아직 튜토리얼이 업데이트되지 않아서 그런데요
1.3.0에서 Action의 create 메소드가 obtain 메소드로 바뀌었습니다.
호환성을 위해서 create 메소드를 그냥 둘까 하다가
아직은 라이브러리 사용자가 통제권 내에 있어서 (다 아는 사람들이어서)
그냥 깔끔하게 변경하는 걸로 결정했습니다.
지금부터는 통제권을 벗어나므로 추후에는 하위 호환성을 유지하겠지만요.
1.2.0에서 1.3.0으로 가면서 API 측면에서 바뀐 건 딱 2가지인데요
Action.create --> Action.obtain
create 메소드에 넣어주던 콜백을 따로 분리하여 setXXXListener로 변경
이건 ClipPlayer도 마찬가지입니다.
create를 obtain으로 변경한 이유는
교육을 하다보니 헛갈려 하시는 것 같아 바꾼 것입니다.
create는 객체를 새로 생성한다는 의미가 강한데
실제로는 그렇게 작동하지 않거든요.
Action과 ClipPlayer는 같은 ID를 가진 객체는 하나만 만들어집니다.
객체 풀에서 가지고 오기 때문에
마치 안드로이드의 Message 처럼 없으면 만들어서 반환하고 이미 있으면 새로 만들지 않고 기존에 있는 걸 반환합니다.
즉, Action.obtain을 두 번 호출했을 때 넣어준 ID가 같으면 반환하는 객체가 서로 같은 것입니다.
따라서 서로 다른 액티비티에서 사용할 수도 있습니다.
한쪽 액티비티에서 실행시킨 액션을 다른 액티비티에서 중지할 수도 있는 거죠.
obtain했을 때 같은 객체가 반환될 거니까요.
마지막으로 한 가지 주의하실 점...
명시적으로 앱이 종료될 때 (백 버튼 눌러 종료하거나 등등)
사용한 Action 모두에 대해 dispose 메소드 반드시 호출해 주어야 합니다.
Action.disposeAll() 메소드 호출하면 지금까지 만들었던 모든 액션이 한꺼번에 폐기되니 이걸 호출하셔도 됩니다.
ClipPlayer도 마찬가지... ClipPlayer의 경우에는 close() 또는 closeAll()
론처 쪽에서 다른 앱이 실행될 때 이전 앱의 액션과 클립플레이어를 모두 폐기하기 때문에
호출 안해도 크게 문제 되는 건 없지만
마켓에서 검수 통과되지는 못할 거예요.
로그인 유지
아직 튜토리얼이 업데이트되지 않아서 그런데요
1.3.0에서 Action의 create 메소드가 obtain 메소드로 바뀌었습니다.
호환성을 위해서 create 메소드를 그냥 둘까 하다가
아직은 라이브러리 사용자가 통제권 내에 있어서 (다 아는 사람들이어서)
그냥 깔끔하게 변경하는 걸로 결정했습니다.
지금부터는 통제권을 벗어나므로 추후에는 하위 호환성을 유지하겠지만요.
1.2.0에서 1.3.0으로 가면서 API 측면에서 바뀐 건 딱 2가지인데요
Action.create --> Action.obtain
create 메소드에 넣어주던 콜백을 따로 분리하여 setXXXListener로 변경
이건 ClipPlayer도 마찬가지입니다.
create를 obtain으로 변경한 이유는
교육을 하다보니 헛갈려 하시는 것 같아 바꾼 것입니다.
create는 객체를 새로 생성한다는 의미가 강한데
실제로는 그렇게 작동하지 않거든요.
Action과 ClipPlayer는 같은 ID를 가진 객체는 하나만 만들어집니다.
객체 풀에서 가지고 오기 때문에
마치 안드로이드의 Message 처럼 없으면 만들어서 반환하고 이미 있으면 새로 만들지 않고 기존에 있는 걸 반환합니다.
즉, Action.obtain을 두 번 호출했을 때 넣어준 ID가 같으면 반환하는 객체가 서로 같은 것입니다.
따라서 서로 다른 액티비티에서 사용할 수도 있습니다.
한쪽 액티비티에서 실행시킨 액션을 다른 액티비티에서 중지할 수도 있는 거죠.
obtain했을 때 같은 객체가 반환될 거니까요.
마지막으로 한 가지 주의하실 점...
명시적으로 앱이 종료될 때 (백 버튼 눌러 종료하거나 등등)
사용한 Action 모두에 대해 dispose 메소드 반드시 호출해 주어야 합니다.
Action.disposeAll() 메소드 호출하면 지금까지 만들었던 모든 액션이 한꺼번에 폐기되니 이걸 호출하셔도 됩니다.
ClipPlayer도 마찬가지... ClipPlayer의 경우에는 close() 또는 closeAll()
론처 쪽에서 다른 앱이 실행될 때 이전 앱의 액션과 클립플레이어를 모두 폐기하기 때문에
호출 안해도 크게 문제 되는 건 없지만
마켓에서 검수 통과되지는 못할 거예요.