TCP로 PC 서버와 안드로이드 클라이언트가 통신을 합니다.


서버가 데이터를 0.5초 단위로 약 500바이트 정도의 데이터를 전송해주고 있습니다.


안드로이드쪽에서는 서비스로 통신로직을 구성해서 데이터 수신까지 했는데


이 데이터를 UI상에 반영하려니 어찌해야 할지...


브로드캐스트를 하자니 데이터 수신때마다 브로드캐스트를 날려도 문제가 안되는지,


아님 다른 효율적인 방법이 있는지 궁금합니다.


또 하나는 지금 서비스를 구동할 때 startService 메소드로 구동시켰는데


이렇게만 하면 액티비티에서 서비스의 데이터에 접근이 불가능하다고 알고 있습니다.


그래서 aidl를 작성하고 bindService를 호출하는 식으로 작성하면 된다고 하는데


그럼 startService를 따로 호출안해도 서비스가 구동이 되나요?


구현하려는 앱의 경우 액티비티에서 서비스의 메소드를 이용하던 안하던, 액티비티가 떠있던 사라지던간에


서비스는 상시 구동하면서 모니터링을 하고 있어야 하거든요.


이런 경우 startService를 호출하여 서비스를 구동시켜 놓고, 액티비티가 필요할 때마다 binding해서


서비스의 데이터에 접근하도록 해야 하는건가요?


그럼 서비스의 onCreate, onStartCommand, onBind, onDestroy를 모두 다 구현해야 하나요?


안드로이드 초짜라 난해한게 많네요. 선배님들의 조언 부탁드립니다.