안드로이드 개발 질문/답변
(글 수 45,052)
데이터 베이스에 대해서 질문이 있습니다. SQL 관련된 내용을 잘 모르는 부분도 있어서
이 곳에 질문을 올려봅니다.
SMS/MMS가 수신이 되면 해당 database에 실제 수신된 내용이 저장이 되는 것으로 알고 있습니다.
수신 및 삭제가 되면 database에서도 추가 / 삭제가 되고 있는데,
하나의 어플리케이션을 생성하고, 해당 어플리케이션에서는 database A를 새롭게 생성해서 사용하려고 합니다.
SMS/MMS database에서 추가/삭제 등의 일이 일어날때마다 (추가로 다른 database - 주소록 등 )
database A에도 같은 동작이 이루어질 수 있게 하려고 하는데 이런것이 가능한지요?
즉 제가 생성하는 데이터베이스와 이미 존재하고 있는 database간의 동기화 작업을 수행하려고 한다면
어떤식으로 구현을 해야하는지 알고 싶습니다.
이 곳에 질문을 올려봅니다.
SMS/MMS가 수신이 되면 해당 database에 실제 수신된 내용이 저장이 되는 것으로 알고 있습니다.
수신 및 삭제가 되면 database에서도 추가 / 삭제가 되고 있는데,
하나의 어플리케이션을 생성하고, 해당 어플리케이션에서는 database A를 새롭게 생성해서 사용하려고 합니다.
SMS/MMS database에서 추가/삭제 등의 일이 일어날때마다 (추가로 다른 database - 주소록 등 )
database A에도 같은 동작이 이루어질 수 있게 하려고 하는데 이런것이 가능한지요?
즉 제가 생성하는 데이터베이스와 이미 존재하고 있는 database간의 동기화 작업을 수행하려고 한다면
어떤식으로 구현을 해야하는지 알고 싶습니다.
2010.01.20 13:39:12
SMS/MMS 의 경우 새로운 메시지가 들어올 경우 ( inbox로 들어갈 경우), broadcast를 통해서 intent가 날라옵니다.
Launcher (홈스크린)또한 해당 broadcast를 받아서 notificator ( 상단 회색줄)에 해당 내용을 보여주는것이구요.
보내거나 할 경우 (inbox 이외의 folder)에는 intent를 날리는것을 보진 못했던거 같네요.
컨버전스 님의 말씀처럼 Broadcast와 Service를 이용하시거나, 아니면 백그라운드 thread를 통해서 주기적으로 db체킹을 해서 변화시 함께 동기화를 시키는 방법은 어떨까 싶습니다 :)
Email의 경우에는 제가 말씀드렸던 후자의 방법을 통해 처리합니다 :)