2013-04-15 9 views
0

귀하의 도움으로 필자는 고유 한 MySQL DB가있는 웹 페이지를 만든 다음 JSON 웹 서비스를 사용하여 값을 내 Android 응용 프로그램에 전달합니다.DB를 최신 상태로 유지 - Android

다음 단계는 전화를 인터넷 연결없이 목록을 볼 수 있도록 로컬 SQLite DB에 복사하는 것입니다.

테이블을 만들고이 테이블에 값을 삽입하는 코드를 성공적으로 구현했습니다. 문제는 필자가 DB를 한번에 다시 작성하는 것을 원하지 않는다는 것입니다.

DB에 삭제 된 항목이 있거나 추가 된 항목이있을 수 있으며이를 반영하기 위해 로컬 DB가 필요합니다.

SQLite에서 MySQL DB에 더 이상 존재하지 않는 것을 삭제하고 새로운 것을 추가하려면 어떤 단계를 밟아야합니까?

건배

+0

두 데이터베이스 모두에 일종의 기본 키가 있습니까? 그렇다면 왜 모든 기본 키 배열을 반환하고 SQLite 데이터베이스와 비교하여 웹 서비스에 메서드를 만들 수 없습니까? –

답변

0

당신의 안드로이드 응용 프로그램의 데이터베이스에서 당신이 가져온 마지막으로 다음 더 새로운 게시물을 가져 다음 데이터베이스에 날짜 시간 열을 가지고하는 것이 작업을 수행하는 가장 좋은 방법은 당신 귀하의 환경 설정에서 날짜 시간을 절약 할 수 있습니다

죄송합니다. 가장 좋은 방법은 아닌 것 같아요. API에만 mySQL을 사용하고 있습니까? 그럼 당신은 아마 삭제 된 삽입 된 이상한 느낌으로 게시물을 표시 할 수 있습니다.

0

이 접근 방식을 사용하면 JSON 응답을 데이터 모델의 개체로 구문 분석 한 다음 해당 데이터 모델을 보유한 콘텐츠 값을 만들어 장치의 데이터베이스에서 사용할 수 있습니다.

콘텐츠 값을 얻은 후에는 콘텐츠 확인자를 사용하여 데이터베이스에 대한 작업을 수행하고 JSON 응답 (각 콘텐츠 값)에서 파싱 된 각 데이터의 업데이트를 시도하면 콘텐츠 리졸버의 업데이트 메서드는 데이터베이스에 업데이트 된 행 수를 알려줍니다. 숫자가 0이면 데이터베이스에 데이터가 없으므로 삽입 만하면됩니다.

그런 식으로 데이터베이스에 현재 데이터가 있는지 먼저 검색하고, 데이터가 있으면 업데이트하고, 그렇지 않으면 데이터를 삽입하십시오.

관련 문제