2012-07-19 43 views
0

我試圖acccess使用煎茶觸摸,移植到了PhoneGap的到Android相機。隨着煎茶觸摸guide to using native APIs建議,我宣佈相機作爲必需的: Ext.require('Ext.device.Camera');
但不幸的是,我得到這個錯誤:相機採用的PhoneGap和煎茶觸摸

07-19 11:51:42.159: E/Web Console(8668): Uncaught Error: [Ext.Loader] 
Failed loading './device/Camera.js', please verify that the file exists at 
file:///android_asset/www/lib/touch/sencha-touch-all-debug.js:8000 

的煎茶庫有Camera.js下的設備。我不確定爲什麼會出現此錯誤。

編輯1:依然沒能找到答案。非常感謝任何建議。

回答

0

在煎茶論壇上有一個thread了。

的問題似乎是Phongap的命名 - 科爾多瓦。在Sencha Touch加載之前執行此操作應該可以解決這個問題。

if(typeof window.Cordova != 'undefined') { 
    window.PhoneGap = window.Cordova; 
} 
+0

加載煎茶觸摸之前執行呢?我怎麼做?我的index.html有sencha觸摸庫文件,所以你說我創建了一個js文件並將其添加到庫文件之前? – Urban 2012-07-19 07:03:39

+0

你可以把index.html字段的代碼? – 2012-07-23 06:38:49

+0

@城市是這就是我要說的......只是在加載科爾多瓦和Sencha Touch之間 – VDP 2012-07-27 12:54:44

1

如果您下載sencha touch的源代碼,在「src」目錄下會有一個名爲「device」的目錄(解壓後)。 Camera.js位於該目錄中。似乎煎茶-觸摸全debug.js或煎茶-觸摸all.js不包括來自所有.js文件中的「裝置」目錄中的源代碼。您必須在目錄中手動複製到Android的資產目錄(如文件:/// android_asset/WWW/lib目錄/觸摸/設備)。

您可以在任何地方的目錄設備複製您的Android資產(如文件:/// android_asset /網絡/設備)。然後在第一個JavaScript聲明使用前煎茶觸摸,你必須輸入以下代碼:

Ext.Loader.setConfig ({ 
    paths: { 
     'Ext.device': 'device' 
    } 
}); 

代碼告訴「Ext.device」是參考目錄「設備」。確保「設備」目錄與調用javascript的html文件相關(如index.html)。從上面的代碼意味着「設備」目錄是與html文件相同的位置。

+0

謝謝你。不幸的是,我目前無法驗證這一點。我會盡快嘗試並回復你。 – Urban 2012-09-11 19:29:22

1

如果您使用phonegap進行部署,然後使用Phonegap攝像頭功能。我已經用它在我的應用程序在下列方式:

  1. 在index.html文件添加<script type="text/javascript" src="cordova-x.x.x.js"></script>

  2. 使用下面的代碼來打開攝像頭:

    navigator.camera.getPicture(cameraSuccess, cameraError, [ cameraOptions ]); 
    

有關此API使用的詳細信息下面的鏈接: http://docs.phonegap.com/en/edge/cordova_camera_camera.md.html#Camera