2017-12-04 3 views
0

나는 안드로이드 용 애플리케이션을 만들고 있는데, 라이브러리 모듈로 바꿔서 자신의 로직을 UI가 다른 몇 가지 다른 애플리케이션의 공통 로직으로 사용하고 싶다. 라이브러리 모듈은 애플리케이션 자체에서 정의 된 리스너에게 명령을 보내고받을 수있는 안드로이드 서비스를 가지고있다.액티비티를 API 공급 업체로 사용할 때의 위험들

수신 측에서 리스너는 서비스의 메시지 유형에 따라 콜백을 호출하는 응용 프로그램의 주요 활동입니다.

서비스 파트로 보내는 명령에 더 많은 문제가 있습니다. 문제의 API는 메시지를 서비스에 보내는 응용 프로그램의 방법입니다. 메시지를 보내고 전달하는 인수를 가져옵니다.

내가 생각한 방식은 라이브러리의 주요 활동을 API로 보내고받는 이벤트를 허용하는 것입니다. 그런 다음이 라이브러리를 사용하는 UI 개발자는 GUI만으로 다른 모듈을 만들고 라이브러리의 기본 활동을 확장하여 API를 사용하고 리스너의 동작을 확장 할 수 있습니다.

내가 알고 싶은 것은 기술적 인 문제 일 가능성이 높으며 디자인 자체가 가능한 한 가장 좋은 의견이 아닌 경우 -이 디자인에 문제가 있습니까? 예를 들어 Android가 활동을 처분하는 데 문제가 있습니까? 다른 문제가 있습니까?

답변

1

활동을 기반으로 API를 구축 할 때의 주요 위험은 기본적으로 API를 활동주기에 연결한다는 것입니다. 메시징 용 API는 기본 스레드와 UI 스레드에서 모두 사용할 수 있어야한다고 가정합니다. API를 디자인 할 때 인터페이스를 사용하는 것을 선호합니다. 대거는 어디서나 삽입 할 수있는 싱글 톤을 만드는 데 매우 유용합니다.

+0

활동이 파괴되었다고 가정 해 봅시다. 주요 활동 이후 앱이 어쨌든 작동하지 않을 수 있음을 의미하므로 사용자가 애플리케이션을 다시 시작하기 때문에 문제가되지 않는다고 가정 할 때 올바른가요? –

+0

기본적으로 UI와 API를 분리하는 것이 좋습니다. 이 활동은 UI 관련 작업을 위해 설계되었습니다. 여기를 읽으면 애플리케이션을 아키텍처하는 방법을 더 잘 이해하는 데 도움이 될 것입니다. https://developer.android.com/topic/libraries/architecture/guide.html –

관련 문제