2012-10-11 3 views
18

Android/Phonegap 앱을 만들었으며 몇몇 Gingerbread (2.3) 휴대 전화를 제외하고 여러 Android OS 버전이있는 모든 기기에서 정상적으로 실행되고 있습니다. Phonegap 1.9를 사용하고 있습니다.Android의 LocalStorage에서 잘못된 액세스 예외가 발생했습니다.

코드를 디버깅하면서 자바 스크립트에서 illegal access exception을 깨달았습니다. HTML5 localStorage.getItem()localStorage.setItem() 방법을 사용할 때마다 나타났습니다.

이러한 Android 기기에서 localStorage 기능을 사용 설정하려면 어떻게해야하나요? 당신의 웹보기의 WebSettings의 코드, 즉는 다음을 확인

답변

8

불법 예외가() 메소드 JSON.parse에 의해 발생했다. 그것을 확인하는 것을 조심하십시오. Android 2.3, HTML5 localStorage 및 Phonegap이 완벽하게 작동합니다.

0

검사가 호출되어 다음 .getItem()가 null을 반환 할 때

WebSettings settings = webView.getSettings(); 

settings.setJavaScriptEnabled(true); 

settings.setDatabaseEnabled(true); 

settings.setDatabasePath(this.getApplicationContext() 
     .getDir("database", Context.MODE_PRIVATE).getPath()); 

settings.setDomStorageEnabled(true); 
+0

나는 그 설정이 어디 있는지 알아 내려고 노력하여 힘들었습니다. phonegap 아래에서, 우리는 그들을 액세스하기 위해 super.appView.getSettings()를 호출해야합니다. 그러나,하기 전에 super.init()를 호출해야합니다. 그렇지 않으면 appView가 null이됩니다. 당신이 말했듯이 그 값들을 바꾸어 보겠습니다. –

+0

이미 테스트 됨. 모든 설정은 사실이지만 저장/검색 할 수는 없습니다. –

0

이 유효성 검사는 나를 위해 작동합니다. :) (자바 스크립트 안드로이드 2.3 사용 phonegap)

Storage.prototype.getArray = function(key) { 
     if (this.getItem(key)) { 
      return JSON.parse(this.getItem(key)) 
     } else { 
      //console.log("no error null value"); 
     } 

    } 
관련 문제