GVKun编程网logo

android – Famo.us网络平台是否支持phonegap?(android应用支持ipv6吗)

10

本篇文章给大家谈谈android–Famo.us网络平台是否支持phonegap?,以及android应用支持ipv6吗的知识点,同时本文还将给你拓展android+phoneGap环境搭建、andr

本篇文章给大家谈谈android – Famo.us网络平台是否支持phonegap?,以及android应用支持ipv6吗的知识点,同时本文还将给你拓展android + phoneGap 环境搭建、android phonegap插件开发方法 plugin,Android开发前景怎么样、Android PhoneGap:android:windowSoftInputMode似乎不起作用、android – $.ajax()在phonegap上等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

android – Famo.us网络平台是否支持phonegap?(android应用支持ipv6吗)

android – Famo.us网络平台是否支持phonegap?(android应用支持ipv6吗)

我想通过phonegap将通知和蓝牙集成到我用famo.us构建的web应用程序中.可能吗?

解决方法

Famo.us包括Famo.us工具栏,它本身是Cordova的模块(类似于Phonegap),包括Cordova支持的所有插件.它是从命令行驱动的.

我通过电子邮件发送了Famo.us的CEO,他的回答是:

We are alpha testing the Famo.us Wrapper Now. It’s a mod of Cordova
with all of the plugins from Cordova. The difference is that it’s
much more performant,especially on Android,than PhoneGap or Cordova.

android + phoneGap 环境搭建

android + phoneGap 环境搭建

PhoneGap是一个开发跨平台的html5本地化程序的平台,通过它可以把网页变为各种平台上的应用程序

1.下载phoneGap

现在phoneGap已经捐给了apache, 地址应该是:

http://cordova.apache.org/docs/en/4.0.0//guide_cli_index.md.html#The%20Command-Line%20Interface

它是通过node.js来进行下载的。因为需要node.js,官网:https://nodejs.org/

说明:node.js 和 phoneGap(cordova) 都需要配置一下环境变量。在PATH中添加bin的目录即可。

通过cardova命令来创建phonegap项目。

4.在eclippse中新建工程

在eclipse里新建工程

下一步

创建的android项目版本可以是更低一些我看了一下它自带的例子是5

点击finish

5.加入phoneGap包

1)创建

/libs    #这个用于放cordova-1.5.0.jar

/assets/www  #这个用于放cordova-1.5.0.js (由cordova命令生成出来的项目)

点击项目右键属性->java build path->libraties-> add jars


把解压出来的android目录下的xml包放到/res下



cordova.xml:

<?xml version="1.0" encoding="utf-8"?>
<cordova>
    <access origin="http://127.0.0.1*"/>
    <log level="DEBUG"/>
</cordova>

我猜acess origin是phonegap的内部web服务器地址,log是定义日志级别

plugins.xml:

<?xml version="1.0" encoding="utf-8"?>
<plugins>
    <plugin name="App" value="org.apache.cordova.App"/>
    <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
    <plugin name="Device" value="org.apache.cordova.Device"/>
    <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
    <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
    <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
    <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
    <plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
    <plugin name="File" value="org.apache.cordova.FileUtils"/>
    <plugin name="Network Status" value="org.apache.cordova.NetworkManager"/>
    <plugin name="Notification" value="org.apache.cordova.Notification"/>
    <plugin name="Storage" value="org.apache.cordova.Storage"/>
    <plugin name="Temperature" value="org.apache.cordova.TempListener"/>
    <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
    <plugin name="Capture" value="org.apache.cordova.Capture"/>
    <plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
</plugins>

上面定义的是所加载的插件,加载的插件越多就需要在AndroidManifest.xml里定义响应的访问权限,若是不需要网络可以把响应的插件去掉

6.开始开发

可以参考自带的example

1)首先把activity类进行修改

package com.yifangyou.hellophonegap;

import android.os.Bundle;
import org.apache.cordova.*;
public class HelloPhoneGap extends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //加载assets/www目录下的的index.html
        super.loadUrl("file:///android_asset/www/index.html");
    }
}

2)创建index.html

编辑assets/www/index.html

<!DOCTYPE HTML>
<head>
<title>你好 PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
</head>
<body>
<h1>你好 PhoneGap</h1>
</body>
</html>

3)修改AndroidManifest.xml,增加权限设置

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
      package="com.yifangyou.hellophonegap" android:versionName="1.1" android:versionCode="5">
    <uses-sdk android:minSdkVersion="8" />
    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name=".HelloPhoneGap" android:label="@string/app_name" 
                 android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="org.apache.cordova.DroidGap" android:label="@string/app_name" 
                 android:configChanges="orientation|keyboardHidden">
            <intent-filter>
            </intent-filter>
        </activity>
    </application>
</manifest>

7.最后运行

android phonegap插件开发方法 plugin,Android开发前景怎么样

android phonegap插件开发方法 plugin,Android开发前景怎么样

<1> 在控制台    创建一个phonegap工程  命令如下

phonegap create my-app

cd my-app

phonegap run android

<2> 将工程导入 eclipse

<3> 配置 cordova _plugins.js 文件

首先给大家看看cordova _plugins.js 文件:

cordova.define(‘cordova/plugin_list’, function(require, exports, module) {

module.exports = [

{

“file”: “plugins/org.apache.cordova.camera/www/CameraConstants.js”,

“id”: “org.apache.cordova.camera.Camera”,

“clobbers”: [

“Camera”

]

},

{

“file”: “plugins/org.apache.cordova.camera/www/CameraPopoverOptions.js”,

“id”: “org.apache.cordova.camera.CameraPopoverOptions”,

“clobbers”: [

“CameraPopoverOptions”

]

},

{

“file”: “plugins/org.apache.cordova.camera/www/Camera.js”,

“id”: “org.apache.cordova.camera.camera”,

“clobbers”: [

“navigator.camera”

]

},

{

“file”: “plugins/org.apache.cordova.camera/www/CameraPopoverHandle.js”,

“id”: “org.apache.cordova.camera.CameraPopoverHandle”,

“clobbers”: [

“CameraPopoverHandle”

]

},

{

“file”: “plugins/org.apache.cordova.dialogs/www/notification.js”,

“id”: “org.apache.cordova.dialogs.notification”,

“merges”: [

“navigator.notification”

]

},

{

“file”: “plugins/org.apache.cordova.dialogs/www/android/notification.js”,

“id”: “org.apache.cordova.dialogs.notification_android”,

“merges”: [

“navigator.notification”

]

},

{

“file”: “plugins/org.apache.cordova.vibration/www/vibration.js”,

“id”: “org.apache.cordova.vibration.notification”,

“merges”: [

“navigator.notification”

]

},

{

“file”: “plugins/intent.js”,

“id”: “org.apache.cordova.intent”,

“merges”: [

“navigator.intent”

]

},

];

module.exports.Metadata =

// TOP OF MetaDATA

{

“org.apache.cordova.camera”: “0.2.7”,

“org.apache.cordova.dialogs”: “0.2.6”,

“org.apache.cordova.vibration”: “0.3.7”,

“org.apache.cordova.intent” :“0.0.1”,

}

// BottOM OF MetaDATA

});

我之前配置了camera  ,dialog , vibration   ,大家可以参考

现在来分解  ,这里要配置2个地方

module.exports

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

= [{}];

module.exports.Metadata = { }

在module.exports 的花括号里面配置

{

“file”: “plugins/intent.js”,

“id”: “org.apache.cordova.intent”,

“merges”: [

“navigator.intent”

]

},

file 代表  javascript写的接口位置

id   代表  唯一

merges   代表你在 javascript中调用该接口的语句    (类似activity中的 getApplication() 等等 ;就是个调用语句)

在module.exports.Metadata 中配置id

标号随意

<4> 在plugin目录下编写javascript接口

贴上intent.js的接口代码

cordova.define(“org.apache.cordova.intent”, function(require, exports, module) {

var exec = require(‘cordova/exec’);

module.exports = {

/**

  • 一共5个参数

第一个 :成功会掉

第二个 :失败回调

第三个 :将要调用的类的配置名字(在config.xml中配置 稍后在下面会讲解)

第四个 :调用的方法名(一个类里可能有多个方法 靠这个参数区分)

第五个 :传递的参数 以json的格式

*/

demo: function(mills) {

exec(function(winParam){

alert(winParam);

}, null, “Demo”, “intent”, [mills]);

},

};

});

Demo中成功返回 会弹出一个Alert();

在javascript中的 调用语句是

navigator.intent.demo(1);

贴上整的javascript

Notification Example

总结

以上是小编为你收集整理的android phonegap插件开发方法 plugin,Android开发前景怎么样全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

原文地址:https://blog.csdn.net/m0_64383081/article/details/121898901

Android PhoneGap:android:windowSoftInputMode似乎不起作用

Android PhoneGap:android:windowSoftInputMode似乎不起作用

我正在开发一个基于PhoneGap的应用程序,我搜索了很多关于如何在虚拟键盘出现时使我的webview调整其高度,或者至少获得虚拟键盘的高度.我发现了很多帖子(包括stackoverflow)
android:windowSoftInputMode="adjustResize"

必须在清单中设置,我这样做了.我还发现,对于PhoneGap config.xml,有

<preference name="android-windowSoftInputMode" value="adjustResize"/>

设置,我也粘贴了.我也尝试了两个参数的组合值’stateVisible | adjustResize'(不仅仅是’adjustResize’),但在我看来它们都没有效果.我不知道,也许我做错了,但你可以查看模拟器的截图(Android 4.0.3,但我也试过4.1.2和4.2.2):
http://screencast.com/t/Mm0mw8c693 – 键盘可见
http://screencast.com/t/lZ2DomqeRR – 键盘隐藏
在屏幕截图中,我故意捕获了我的清单和config.xml设置,因此您可能会看到它们实际存在.
我甚至录制了短视频 – http://screencast.com/t/xI9PMcMJxxx

正如您所看到的,当键盘显示/隐藏时,不会发生任何视口大小调整.
我还使用console.log()检查了window.innerHeight,它对于可见和隐藏键盘都保持相同.

拜托,给我一些建议.

解决方法

如果您的应用程序处于全屏模式(在config.xml中将fullscreen设置为true),windowSoftInputMode =“adjustResize”将不起作用. Android的问题不是Cordova. the issue CB-4404在Cordova bug跟踪器中提交了几个月,但最近在Android bug跟踪器上发现了 it is working as intended.

我通过将全屏设置为false来解决了这个问题,因为我的应用程序不能全屏显示这个问题.

android – $.ajax()在phonegap上

android – $.ajax()在phonegap上

任何人都知道在Android的github中使用$.ajax()的phonegap的例子吗?我读过JSONP或CORS,但我只是从Twitter请求数据.

我只需要获取我的数据服务器.

解决方法:

通过jquery mobile非常容易.你可以使用普通的Ajax和一些JSON来完成你的工作.我用PHP服务器完成了.这里是示例代码,

通过jquery向服务器发送请求.

$.ajax({
          url: <your Server URL>,
          dataType: 'jsonp',
          jsonp: 'jsoncallback',
          timeout: 5000,
          success: function(data, status){
                             /*Process your response here*/
                        }
       });

在PHP服务器文件中,

<?PHP
$data="I am sending response to you";

/*you have to mention this callback compulsory*/

echo $_GET['jsoncallback'] . '(' . json_encode($data) . ');';
?>

我们今天的关于android – Famo.us网络平台是否支持phonegap?android应用支持ipv6吗的分享已经告一段落,感谢您的关注,如果您想了解更多关于android + phoneGap 环境搭建、android phonegap插件开发方法 plugin,Android开发前景怎么样、Android PhoneGap:android:windowSoftInputMode似乎不起作用、android – $.ajax()在phonegap上的相关信息,请在本站查询。

本文标签: