2

내 안드로이드 애플 리케이션은 현재 django rest framework로 구축 된 웹 서비스와 HTTP 통신을 위해 Volley를 사용합니다. 내 백엔드는 MySQL 데이터베이스와 Python으로 구성됩니다.데이터베이스가 변경 될 때 안드로이드 UI 업데이트

앱은 동일한 페이지를 업데이트하는 여러 사용자로 구성됩니다. 이 페이지를 실시간으로 업데이트하고 싶습니다. (웹 서비스를 통해) 데이터베이스에 대한 업데이트가있을 때 나는 연결된 모든 클라이언트에게 업데이트를 보내고 싶습니다. 나는 서버를 폴링하는 대신 클라이언트에 데이터를 전송하는 것을 선호한다.

데이터베이스를 Android UI에 동기화하는 데 권장되는 방법은 무엇입니까? 여기

내가 건너 온 일부 옵션은 다음과 같습니다 (? 나는이 길을 가면 내 데이터베이스를 마이그레이션해야합니다)

Android Sync Adapter

Firebase Cloud Messaging

PubNub

Volley에서이를 수행 할 수있는 방법이 있습니까?

+0

다른 옵션이 있습니다. 예를 들어 MQTT (Android 클라이언트 라이브러리의 경우 Eclipse Paho 참조) – mjn42

+0

Volley에 대한 이해에서 볼 때 Android 용 req/resp 라이브러리이며 데이터 가져 오기와 아무 관련이 없습니다. 나는 당신이 발리와 함께하고 싶은 것을 성취 할 수 있다고 생각하지 않는다. 설문 조사에 참여하고 싶지 않지만 위 질문에 근거하지 않는 한, 그렇게하고 싶지는 않습니다. –

+0

가능한 복제 http://stackoverflow.com/questions/1378671/push-notifications-in-android-platform 및 http://stackoverflow.com/questions/1243066/does-android-support-near-real-time- 푸시 알림/ – k3b

답변

1

나는 당신이 로컬 듣고 이벤트를 발생하는 방송 수신기, EventBus 또는 오토을 사용 후 실시간 데이터 관리의 PubNub를 사용하고 건의 할 것입니다. 좀 더 설명하겠습니다.

데이터베이스에서 CRUD 작업이 성공하면 PubNub 서버에 게시 할 수 있습니다. 그러면 구독자 인 고객에게 전달됩니다. 그런 다음 응용 프로그램에서 실행중인 Android 서비스를 가질 수 있으며 수신 된 pub nub 이벤트를 수신하고 처리합니다. 그런 다음 EventBus 또는 Otto를 사용하여 응용 프로그램 내에서 로컬 이벤트를 시작하고 해당 이벤트에 대한 사용자의 의견을 반영 할 수 있습니다. 이제는 이벤트 관리를 분리해야하는 이유는 실시간 데이터 공급자를 변경하면 애플리케이션 전반에 걸쳐 캡슐화 된 안드로이드 서비스에 캡슐화 된 이후로 애플리케이션에 코드 변경이 거의 필요하지 않기 때문입니다.

+0

질문은 원격 웹 서비스에서 데이터베이스를 업데이트하고 다른 Android 클라이언트에게 변경 사항을 알리는 것입니다. PubNub가 웹 서버에서 돌아가서 android-devices로 브로드 캐스트를 전송할 수 있는지 확인해 주시겠습니까? – k3b

+0

내가 아는 한, 그렇습니다. 방금 PubNub 지식 기반으로 가서 이것을 보았습니다 : https://www.pubnub.com/knowledge-base/discussion/296/can-i-publish-a-message-via-a-database-trigger. 완전히이 예제를 기반으로 매우 간단하다고 생각하는 질문을 완전히 오해하고 있습니다. –

+0

@ The Code Pimp - 예, KB 기사 상단의 * NOTE *에 많은주의를 기울이십시오. 그리고 앱이 백그라운드에 있거나 업데이트되지 않을 때 장치가 업데이트를 가져올 수 있도록 FCM (이전의 GCM) 푸시 페이로드로 db 업데이트를 게시 할 수 있습니다. –

관련 문제