Articles of cordova

phonegap – sqlite还是索引数据库?

我是web开发人员,以phonegap开头。 我需要为iPhone,Android和Windows Phone 8创建一个应用程序。 我需要在本地存储一些数据(对于localStorage来说太大)。 我不知道女士解决方案是最好的: Phonegap提供存储(基于WebSQL – 已弃用),但Windows Phone不支持。 有没有插件来填补这个空白? 我读过有关索引数据库的内容,但我之前没有使用它,对我来说不是很直观。 我不确定它是否在所有平台上都得到完全支持? 我基于( http://blog.nparashuram.com/2012/10/indexeddb-example-on-cordova-phonegap_12.html ) 或者也许我可以使用手机插件https://github.com/marcucio/Cordova-WP-SqlitePlugin用于windows手机和https://github.com/marcucio/Cordova-SQLitePlugin用于android和iphone。 。 那么我的代码在所有平台上都会像我想的那样相同。 有人之前创建过这样的应用吗? 我会很高兴任何解决方案或想法。

在适用于Android的Phonegap应用上播放声音

我试着播放一个mp3文件。 如果我在本地网络服务器上更改文件的路径,则此方法有效,但如果我在Android设备上运行此操作,则不会播放声音并且不会显示错误。 我很害羞找不到mp3文件,但我仍然不知道如何修复它。 这是Html 这是Javascript document.getElementById(‘errorSound’).play(); 这是文件结构 phonyapp `– www `– index.html |– sound | |– errorSound.mp3 | `– successSound.mp3 |– res `– spec 编辑1 我试过了 这在我的本地网络服务器上使用chrome,但在Android上没有。 我试过了 这很有效,但我需要播放本地文件

Cordova android构建立即失败

我刚开始使用Cordova(PhoneGap)并尝试使用它构建我的第一个项目,但是我遇到了编译步骤的问题 – 当我尝试构建时(在追踪问题时我打破了build步骤prepare和compile ,据我所知前者工作正常)我看到这个: ~/Projects/MyProject$ cordova compile android Compiling app on platform “android” via command “/media/glenatron/local disk/Projects/Cordova/MyProject/platforms/android/cordova/build” { [Error: spawn EACCES] code: ‘EACCES’, errno: ‘EACCES’, syscall: ‘spawn’ } 现在从我可以告诉这是一个权限问题,但没有Node或Cordova经验,但我不知道如何解决它。 它看起来好像正在尝试产生另一个进程 – 也许是Android SDK? – 它失败了。 有没有办法我可以让Node或Cordova给我更多关于发生了什么的信息,或者是否有某个日志文件可以帮助我找出问题所在? 编辑:我意识到cordova有一个–verbose开关,当我激活它时,我得到上面的输出另外两行… Error: spawn EACCES at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34) 不幸的是,他们似乎并没有提供更多的信息,比如它无法启动的过程。

Cordova插件白名单失败要求cordova ios 4

我试着跑 ionic platform ios android 它今天给了我这个错误(以前工作正常) Installing “cordova-plugin-whitelist” for ios Failed to install ‘cordova-plugin-whitelist’:CordovaError: Plugin doesn’t support this project’s cordova-ios version. cordova-ios: 3.8.0, failed version requirement: >=4.0.0-dev at checkEngines (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:116:29) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:289:16 at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54) at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30) at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13) at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44 at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17) at process._tickCallback (node.js:355:11) Plugin doesn’t support this project’s cordova-ios […]

Apache Cordova(PhoneGap)中的资源结构并从文件系统加载文件

我们有一个相当复杂的JS webapp,可以在浏览器中以不同的方式(字符串,arrayBuffer,base64,二进制)加载不同的资源(HTML模板,额外的JS / CSS文件,JSON数据,图像,video,声音)(只读不写作)。 现在,我们想对其进行更改,以使所有内容在不同平台上脱机(包括资源)作为Cordova移动应用程序。 问题#1 – 从本地文件系统加载文件 它使XHR对本地file://资源的请求在任何地方都能正常工作, 但Chrome现在是一个显示阻止因为Android内部过渡到Chrome。 好的,还剩下2个选项: 假装JSONP中的所有内容都带有脚本标签,带有iframe的HTML等等 – 这不是一个非常好的选择,因为它需要更改资源本身+它的hacky并且它会花费我们很多function(仅限字符串加载) JS / HTML,arrayBuffer,二进制等) 使用File API 不幸的是,普通的vanilla File API 总是 需要用户交互 (比如点击输入框)来获取文件引用加上IE10是禁止的。 好的,所以唯一的选择就是为PhoneGap使用自定义的File API插件 – 这给我们带来了下一个问题。 问题#2 – (跨平台?)PhoneGap中的文件路径 我喜欢PhoneGap CLI – 你在终端输入一些命令,它为你管理不同平台的文件和构建。 或者是吗? 据我所知,根据PhoneGap你应该把所有东西都放在WWW文件夹中 – 但是(一旦你构建应用程序),疯狂的事情是 – 没有简单的方法来读取这些文件(通过File API插件)从PhoneGap放置它们。 您认为fileSystem.root (LocalFileSystem)指向该文件夹,但至少在iOS上,WWW文件夹位于您的应用程序中,但fileSystem.root引用指向外部Documents文件夹(仍需在Android上测试此文件夹)但我猜它又是一些不同的东西)。 经过一些修补后,我想出了如何进入WWW文件夹,但它不灵活,hacky,感觉它应该不起作用(目前只有iOS): window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ fileSystem.root.getDirectory(“../HelloWorld.app/www”, {create: true}, function(entry) { entry.getFile(“test.json”, […]

将包名称更改为现有的Phonegap项目

我有一个android phonegap项目和一个ios phonegap项目。 它们是使用给定的包名创建的,但我现在必须更改此包名。 在Android中,我认为我必须在清单中更改包名称,并在src文件夹中重命名/移动java文件,并在此java文件中更改以反映新的包名称。 然后清洁和建立。 这听起来不错吗? 我还注意到Eclipse Android Tools >> Rename Application Package中的一个选项,它要求输入包名称。 它会做出所有必要的改变吗? 我如何更改XCode项目中的包ID,以便项目构建正常? 只需按照此票证中的说明编辑Bundle标识符即可? 更改xcode包名称而不创建和导入到新项目 谢谢你的帮助。

mailto:链接无法在Cordova应用程序中在Android上打开邮件应用程序

这真让我抓狂。 我正在研究Ionic应用程序(Cordova,Angular等)。 我有一个联系我们链接,其中包含mailto:href href=”mailto:info@somedomain.net?subject=my%20App” 我已经阅读过无数post,说你必须删除 从项目根目录中的config.xml中替换它: 我做过的。 当我运行ionic build它会被添加到platforms/android/res/xml的config.xml中。 但无论我做什么,链接都不会在任何Android模拟器上打开邮件应用程序(即使在模拟器中配置了电子邮件)。 可悲的是,我没有可以测试的设备 – 所以这只是一个模拟器的东西还是我错过了什么?

cordova ubuntu:列出Android目标时出错

我正在尝试将android平台添加到我的cordova项目,虽然我收到错误: $ cordova platform add android -d cordova library for “android” already exists. No need to download. Continuing. Checking if platform “android” passes minimum requirements… Checking Android requirements… cordova library for “android” already exists. No need to download. Continuing. Error: An error occurred while listing Android targets at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/lib/check_reqs.js:83:29 at _rejected (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:808:24) at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:834:30 at […]

在WebView上设置loadURLTImeOutValue

我正在使用PhoneGap和Android,并在外部服务器上安装我的.html和js文件。 当我使用以下代码时,该应用程序加载我的外部.html文件,一切正常: this.setIntegerProperty(“loadUrlTimeoutValue”, 60000); this.loadUrl(“http://www.myserver.com”); 但是,当通过WebView工作时我似乎loadURLTimeoutValue为WebView设置loadURLTimeoutValue : private WebView webView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { webView = (WebView) findViewById(R.id.webview); webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); webView.loadUrl(“http://www.myserver.com”); } 这不起作用。 如何在WebView上设置超时值?

一些Bootstrap3 glyphicons在phonegap android webview上无法正确显示

请看一下这个附带的截图 。 这是我的PhoneGap测试应用程序 – 采用Galaxy S4。 您应该看到铃声,书签,公文包和相机图标(以及更多)未按预期显示。 以下是我的观察: 所有图标都可以在PC和移动设备上的浏览器(chrome,safari)中正确显示 所有图标都可以在ios的同一个应用程序中正确显示(在iphone / ipad,ios7中查看) “问号”只能在Android应用中看到。 有谁知道原因?