2013-05-06 1 views
1

앱의 첫 번째로드에서 저장소 (Phonegap의 WebSQL 저장소 유형)에서 데이터를 검색합니다. Phonegap 저장소 결과가 잘로드됩니다. <a href="page2.html" rel="external">Link</a>Phonegap 로컬 저장소가 비어있는 결과를 반환합니다.

내가 자바 스크립트에서 window.location.href를 사용하여 두 번째 페이지에서 해당 메인 페이지로 다시 돌아 가면, 나는 다시 WebSQL 데이터를 검색 (동일한 기능 :

내가 응용 프로그램에서 다른 페이지로 이동

...까지 이전과).

Phonegap 저장소는 성공 함수 (오류 없음)를 호출하지만 빈 결과 집합을 호출합니다. 그것은 아무것도 저장하지 않은 두 번째 데이터베이스에서로드하는 것 같습니다 (아래 편집 참조).

강제로 앱을 종료했다가 다시 열면 저장 용량이 다시 정상적으로로드되어 DB의 결과가 삭제되지 않는 것으로 나타납니다.

ondeviceready 해고 후 저장 용량을로드합니다. 무엇이 잘못 될 수 있습니까?

참고 :
1. 이것은 시뮬레이터에서 발생하지 않습니다. 실제 발생한 문제는 입니다. Android 4.0 기기.
2.이 응용 프로그램은 jQuery/jQuery Mobile을 사용합니다.

function ondeviceready() { 
    db = window.openDatabase("test", "1.0", "test DB", 2000000); 
    // . . . // 
    db.transaction(function(tx) { 
     tx.executeSql('SELECT * FROM table ORDER BY name', [], querysuccess, function(tx, e) { 
     errorAlert(); 
     }); 
    }), errorCB; 
} 

편집 : 는 이제 응용 프로그램이 처음로드 될 때 나는 새 행을 추가하는 경우, 그것은 하나의 데이터베이스에 저장하는 것을 알아 차리지하고있다. 그런 다음 두 번째 페이지로 이동 한 다음 첫 번째 페이지로 돌아가서 다른 행을 추가하면 저장되지만 별도의 데이터베이스에 이 저장됩니다. (그렇게하고있는 것처럼 보입니다.) 너무 이상해. 나는 이런 일이 일어나는 것을 본다. 내 모든 행이 저장 및 영구하지만, 쿼리는 내가 두 번째 페이지 여부에 갔다 여부에 따라 결과가 다른 그룹 ... 또한

반환됩니다 이 두 번째 페이지 일부에 대한 jQuery를 오류를 데를 이유. 방금 jQuery에 대한 스크립트 링크가있는 빈 페이지를 만들었으며 오류가 있습니다. 이상한 ...이 오류가 데이터베이스에 영향을 미치는지 궁금합니다. 이 오류를 해결하는 방법을 찾으려고합니다. 내가 무슨 짓을했는지

+0

테이블에 레코드를 삽입하고 있습니까? –

+0

@VickyGonsalves 예, 처음에는 레코드를 삽입합니다. 그러나 첫 페이지에 _back_을 남기고 새 레코드를 추가하지 않았습니다. 첫 번째 페이지로 돌아간 후에 결과가 반환되지 않는 이유는 두 번째 데이터베이스를 만드는 것과 같기 때문입니다. 편집을 참조하십시오. – Hope4You

+0

은 iOS에서 작동합니까? –

답변

1

이전과 비슷한 문제가 발생했지만 자바 측과 자바 측에서 같은 데이터베이스에 쓰려고했습니다. 이것은 내가 그것을 해결할 수 있었던 방법은 다음과 같습니다

  • 먼저 나는 안드로이드 시뮬레이터에 응용 프로그램을 실행하고 데이터베이스를 액세스하기 위해 DDM을 사용하고 난 두 개의 서로 다른 데이터베이스에 기록 된 것을 깨달았 때입니다.

  • 데이터베이스를 사용하여 WebSQL을 사용하는 것으로 바뀌었고 그 이후에 일관된 결과를 얻기 시작했습니다. 그것은 phonegap의 데이터베이스 저장소 구현을 대체하기 때문에 코드를 많이 변경할 필요가 없습니다.https://github.com/brodyspark/PhoneGap-SQLitePlugin-Android을 참조하십시오.

나는 WebSQL 일부 저장 제한이 있습니다하는 것이 중요하다고 생각합니다, 그래서 당신은 SQLiteWebSQL 그 사용하여 더 나을 수 있습니다. 참조 : http://www.steveworkman.com/html5-2/standards/2011/the-limitations-of-websql-and-offline-apps/

희망이 도움이 :-)

+0

좋은 정보와 좋은 링크. 지금은 내 솔루션을 사용하여 WebSQL을 고수 하겠지만 어쩌면 내가 나중에 전환 할 것이다. – Hope4You

+0

더 많은 데이터베이스 문제가 있었기 때문에 pgsqlite로 전환했다. – Hope4You

+0

굉장합니다. 좋은 선택, 당신은 sqlite로 잘못 갈 수 없어. 나는 당신의 문제가 정렬되어서 다행이다 ;-) – Sthe

0

는 지금 아약스를 통해 외부 HTML 페이지를로드 할 수 있습니다 : 나는 또한 권장 pgsqlite로 전환

$.mobile.changePage("page2.html");

.