제가 처음 만드려고한게 Asynctask를 이용하여 메안 Activity 및 다른 Activity에 있는 layout에 1초마다 갱신되는 시계를 넣어주려고 했습니다.
그런데 Asynctask는 다른 액티비티로 가져가기가 참 힘들더군요.
(백그라운드에서 액티비티 바뀌어도 계속 돌아갑니다만, 다른 액티비티의 textView 값을 변경해주는게 스택오버플로우가 뜨면서 안되네요.)
그래서 그냥 액티비티를 intent로 옮길때 Asynctask를 종료하고 새로 시작해주는 방법을 선택해야겠습니다.
이게 된다면 아두이노에서 전송하는 데이터를 다른 액티비티로 값을 실시간으로 넘겨줄 수 있을 줄 알았는데..
차선책으로 우선 아두이노에서 보내는 데이터를 SQLite에 저장한 뒤에 실시간으로 덮어씌워서 DB에는 최신값을 계속 넣어주고,
이 값을 Asynctask로 계속 최신화해서 보여주는방식으로 보여줘야겠네요.
예를들어서 공기주머니에 공기가 400에서 1씩 늘어난다고 아두이노가 보내주는데 이 값을 SQLite에 계속 넣습니다.(이건 백그라운드에서 돌아갑니다.)
고로 DB에는 401,402... 계속 1씩 늘어나는 값이 저장되겠죠.
그 뒤에 다른 Activity의 레이아웃에 가면 TextView에서 Asynctask가 DB값을 계속 뽑아내서 뿌려주는거죠.
나쁘지 않은듯
근데 Thread 와 Handler로 되지 않을까?
아니면 Service로 타이머 구현하고 Activity에서 호출하면 될거같은데
AsyncTask는 시작과 종료가 있는 기법이라 현 상황에 그다지 어울리지 않는 거 같은데