2012-03-06 3 views
0

나는 자바로 작성된 클래스를 호출 내 자신의 플러그인을 만들었습니다. 자바 스크립트 코드에서이 플러그인을 호출하고 싶습니다. 오류 코드는 다음과 같습니다.Phonegap 안드로이드 - window.plugins 정의되지 않았습니다

window.plugins.locationListing.list("/sdcard", 
     function(r){gotLocation(r)}, 
     function(e){onError(e)} 
); 

window.plugins는 정의되지 않았습니다.
1) 내 소스 폴더에 LocationFinder 플러그인 클래스를 생성 2
)는 고해상도/XML/plugins.xml

<plugin name="LocationFinder" value="com.phonegap.plugins.locationListing.LocationFinder"/> 

3) 등재하기 위해 플러그인을 추가 :

에 따라 내가했던 것들입니다 자바 스크립트 파일이라고 locationlisting.js :

var LocationListing = function() { 
}; 

LocationListing.prototype.list = function(directory, successCallback, failureCallback) { 
    return PhoneGap.exec(successCallback,  
     failureCallback, 
     'LocationFinder', 
     'list', 
     directory); 
}; 

4) 내 main.html에서이 locationlisting.js, main.js, 폰갭-1.0.0.js를 추가했다. 정의되지 window.plugins 곳

function callPlugin() { 
    window.plugins.locationListing.list("/sdcard", 
     function(r){gotLocation(r)}, 
     function(e){onError(e)} 
    ); 
} 

이것은 내 main.js에서
5), 나는 아래에 복사 내가 위에서 작성한 코드의 첫 조각을 실행할 경우 즉, 플러그인을 호출합니다. 무엇이 문제 일 수 있습니까? 나는 모든 js 파일을 www /에 저장했다. 어떤 도움을 주시면 감사하겠습니다.

당신은 당신의 locationlisting.js 파일에서 등록 부분을 놓친
+0

을 만든 샘플 플러그인 템플릿의 부부를 참조 할 수 있습니다 plugins.xml, value = ""문자열은 무엇이되어야합니까? 내가 그것을 쓴 것처럼 괜찮습니까? 또한 Plugin 클래스 LocationFinder는 src 디렉토리 또는 다른 디렉토리에 있습니다. – Catie

+0

'value'는 클래스의 전체 패키지 이름이어야합니다. 앞에서 언급 한 것처럼'LocationFinder.java'는'com.phonegap.plugins.locationListing' 패키지 아래에 있어야합니다. – dhaval

답변

0

:

PhoneGap.addConstructor(function() { 
    PhoneGap.addPlugin("locationListing", new LocationListing()); 
}); 

당신은 내가에 플러그인을 추가 내가 점 2)의 경우 here

관련 문제