2010-06-06 4 views
2

사용자가 목록을 업데이트 할 수있는 Windows Phone 앱을 개발 중입니다. 각 업데이트, 삭제, 추가 등은 웹 서비스 뒤에있는 데이터베이스에 저장해야합니다. 전화로 이루어진 모든 작업을 클라우드에서 끝내는 것뿐만 아니라 앱이 실제로 반응하고 사용자가 어떤 지연 시간도 느끼지 못하게해야합니다.Windows Phone : UI 응답 성을 유지하면서 백엔드 데이터 저장소 업데이트 (웹 서비스를 통해)

여기에 사용할 최적의 디자인은 무엇입니까? 각 확인란이 바뀌고 각 텍스트 상자에서 웹 서비스에 연결할 새 스레드가 실행됩니다. 업데이트해야 할 일 목록을 로컬에 저장 한 다음 서버에 일괄 적으로 보내야합니다 (뒤로 버튼은 어떨까요?). 더 쉬운 구현을 놓치고 있습니까? 사전에

감사합니다,

답변

2

웹 서비스에 대한 데이터 업데이트가 실행되는 데 약간의 시간이 걸리므로 사용자에게 최상의 응답을 제공한다는 측면에서 백그라운드 스레드에서이를 해제하는 것이 좋습니다.

백 언론으로 인해 업데이트가 이루어지지 않을 때 (앱 재개 전까지) 앱에 대한 우려 사항 인 경우 업데이트를 보내는 빈도를 늘릴 수 있습니다.

변경 사항을 저장할 때마다 데이터를 로컬에 저장하면 전화 통화와 같이 앱이 중단되는지 여부를 모르기 때문에 아무 것도 손실되지 않도록해야합니다.

intercept the back button을 사용하면 처리중인 보류중인 업데이트를 알리거나 전송 지연을 확인하는 요청 (예 : 불량 네트워크 위치의 경우)을 처리 할 수 ​​있습니다. UI의 시각적 대기열이 저장소 대기열에 보류중인 요청을 표시하는 데 도움이 될 수 있습니다.

응용 프로그램의 일반적인 사용 시나리오에서 데이터 업데이트의 전체 빈도를 고려하고 이것이 네트워크 연결을 얼마나 강하게 활용하는지 생각해보십시오. 이것에 따라 업데이트 빈도와 잠재적 인 전력 소비의 균형을 맞출 수 있습니다.

필드 수준 변경 내용의 업데이트를 해제할지 여부, 큐가 비어 있지 않은 경우 타이머를 사용할지 여부 및 다른 가능성 중에서 다른 행의 데이터를 조작할지 여부를 안내 할 수 있습니다.

모바일 네트워크 통신에 대한 일반적인 효율성 지침은 "수시"또는 자주 전송되는 패턴보다는 크고 빈번하지 않은 전송을하는 것이지만, 이는 사용자의 응용 프로그램에 가장 적합한 것을 결정하는 것입니다.

+0

그건 내가 생각한거야. 어떤 사람이 저에게 작업을 수행하는 전화상의 동기화 프레임 워크를 알려주기를 바랬습니다. UI 동작이 발생할 때마다 (속도를 향상시키기 위해) 기록 된 로컬 저장소 큐를 구현 한 다음 매 "n"초마다 백그라운드 스레드를 실행하고 서버를 동기화한다고 생각합니다. – will

1
당신은 REST 또는 SOAP 비슷한 보길 원하는 것일 수도

.

각 업데이트, 삭제, 추가는 웹 서비스에 요청을 보냅니다. 요청이 완료되면 웹 서비스는 전화 응용 프로그램으로 메시지를 보냅니다.

전화 응용 프로그램에서이 내용을 간단하게 유지하려면 웹 서비스에 URL을 보내면 웹 서비스는 쉽게 구문 분석 할 수있는 간단한 메시지로 응답합니다. 이 같은

뭔가 :의 응답으로

http://webservice?action=update&id=10345&data=... 

는 :

Update 10345 successful 

ID 번호는 요청/응답 쌍을 식별하기 위해 단지 증분 순서입니다.

0

최근 Microsoft Sync Framework가 출시되어 DotNetRock에서 몇 주 전에 논의되었습니다. 나는 내가 당신의 코멘트를 읽을 때까지 이것을 고려하지 않았다는 것을 인정해야한다.

필자는 동기화 프레임 워크의 종속성을 조사하지 않았으므로 아직 wp7 플랫폼에서 실행할 수있는 기능은 없지만 체크 아웃 할 가치는 있습니다.

여기 프레임 워크에 link이 있습니다.

Lev Novik의 Carl과 Richard의 show에 대한 링크 및 일부 배경 정보에 관심이있는 경우 프로젝트 설계자입니다. 상당히 흥미로운 쇼였습니다.

관련 문제