소켓을 서비스에 구현한 이유?

1. 8개의 엑티비티중 4개의 엑티비티가 소켓통신을 통해 값을 주고 받아야합니다.

2. 브로드캐스트리시버를 통해서 어플 종료시에도 정보를 받아야합니다.

 

방법1. 처음엔 서비스에서 소켓을 생성해서

intent를 이용해서 서비스와 엑티비티가 byte[]배열 값을 주고 받는 형식으로 구현하려고 하였습니다.

하지만 이에 관해서 검색하면 검색할수록

직접적으로 byte[] 배열을 intent를 통해서 주고 받을 수 없다는 결론이 나왔습니다.

정말 불가능한가요?

 

방법2. 그래서 이번에는 엑티비티에서 서비스에 byte[] 배열을 전송할 때

1.엑티비티에서 byte배열을 db(android.SQLite)에 저장후

2.서비스로 db에 값을 입력했다는 유무를 알려줍니다.

3.서비스에서는 db에 저장된 값을 통하여 byte[] 배열을 받습니다. 그리고 소켓을 통하여 외부로전송합니다.

서비스에서 엑티비티로 byte[]배열을 전송할 때 또한 이 방식으로 설계할 생각입니다.

이것이 가능한가요?

 

읽어주셔서 감사합니다^^