phonegap-网络访问与调用android手机硬件设备

原创 2015年11月21日 13:38:40


phonegap开发简述

        使用phonegap包开发的目的就是为了缩短开发周期,利用熟悉的HTML、javascript、CSS技术快速的打造自己的客户端APP。其中存在的关键问题是:这些HTML、CSS、js的文件是放在服务器端还是放在移动端。如果是放在移动端,这无疑的没有发挥出javascript的优势,在“数据走向云端”的大趋势下这种方式终将无立足之地。所以我们还是选择将大量的网页数据放在服务器端。

        这么做就又有一个问题了。如果我们把这个APP做成是打开运行之后就直接访问外部网站,那么这个APP就等同于一个网页链接的桌面版。而且这样也不方便或是说不可以通过服务器远程调用android手机的硬件设备,因为它的HTML里面没有cordova.js包。如果在服务器端的HTML里面就导入cordova.js,这种方式不知道行不行得通。


直接访问外部网站

如果是想要打开APP之后就直接访问外部网站,可进行如下操作

打开MainActivity.java文件

将里面onCreate方法中的程序替换成如下代码
        super.onCreate(savedInstanceState);
        //实例化WebView对象
        WebView webview = new WebView( this);
        //设置WebView属性,能够执行Javascript脚本
        webview.getSettings().setJavaScriptEnabled( true);
        webview.getSettings().setSupportZoom(true); // 支持缩放
        webview.getSettings().setLoadWithOverviewMode( true);
        webview.getSettings().setUseWideViewPort(true);
        webview.getSettings().setBuiltInZoomControls(true);//支持手势缩放
        try {
            //设置打开的页面地址。设置成自己需要访问网站的IP
            webview.loadUrl( "http://blog.csdn.net/adrian_rendong/article/details/49950553" );
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
        setContentView(webview);

然后添加网络访问权限
在AndroidManifest.xml文件中添加
<uses-permission android:name="android.permission.INTERNET"/>

在本地HTML中访问外部网站

打开MainActivity.java文件

将里面onCreate方法中的程序替换成如下代码

super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html" );

然后添加网络访问权限
在AndroidManifest.xml文件中添加
<uses-permission android:name="android.permission.INTERNET"/>

编写HTML

打开index.js替换成如下代码
<!DOCTYPE html>
<html>
<head>
    <title>Capture Photo</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
         document.addEventListener("deviceready",onDeviceReady,false);
         alert("进入run2D");
    </script>
</head>
<body margin=0;>
     <iframe src="http://192.168.0.100:9010/IDE/application/run2D.html#" style="position:fixed;
          top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none;
          margin:0; padding:0; overflow:hidden; z-index:999999;">
     </iframe>
</body>
</html>

iframe的全屏显示

范例
<body margin=0;>
     <iframe src="http://192.168.0.100:9010/IDE/application/run2D.html#" style="position:fixed;
          top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none;
          margin:0; padding:0; overflow:hidden; z-index:999999;">
     </iframe>
</body>


远程调用android手机硬件设备

版权声明:本文为博主原创文章,未经博主允许不得转载。

phonegap-android硬件设备的调用

环境配置 插件安装 在创建phonegap工程后,进入到plugins文件夹下 根据自己所需要的功能添加响应插件 各项功能对应插件安装方法如下 //设备API ...

<11>Android HAL 处理硬件设备访问权限问题

转载来自:http://book.2cto.com/201210/6729.html 在硬件抽象层模块中,我们是调用open函数来打开对应的设备文件的。例如,在2.3.2小节中开发的...

Android系统修改硬件设备访问权限

Android系统修改硬件设备访问权限   在硬件抽象层模块文件(so)文件中,提供的函数调用open函数来打开设备文件,比如/dev/gpio,如果不修改设备文件/dev/gpio的访问权限,那...

网络硬件设备完全技术宝典-第三版

  • 2014年12月17日 11:21
  • 267.97MB
  • 下载

手机硬件设备的获取

在开发中 我们有时候会需要获取当前手机的系统版本来进行判断,或者需要获取一些当前手机的硬件信息。 android.os.Build类中。包括了这样的一些信息。我们可以直接调用 而不需要添加任何的权限...

网络中硬件设备简介

传输介质 直通线(Straight-through):双绞线两端接入RJ-45(水晶头)的线序相同。 交叉线(Crossover):双绞线两端接入RJ-45(水晶头)的线序相反。 ...

phonegap-调用android手机照相机

参见:http://blog.csdn.net/adrian_rendong/article/details/49910335 使用Node.js创建工程 打开Node.js控制台并进入到准备...

计算机网络——2.网络硬件设备工作原理

本文主要对网络通讯中的硬件组网设备,如中继器、集线器、网桥、二层交换机、路由器和三层交换机的原理进行分析。组网设备是网络通讯的基础,了解组网设备是学习计算机网络不可缺少的环节。...

Android获取硬件设备信息

此文介绍一些获取Android手机硬件信息的方法 主要是从Build和TelephonyManager中获取 以及使用反射获取SystemProperties 并使用他的get方法获取一些系统隐藏掉...

ueventd.rc 处理硬件设备权限和android init 对其解析

Ueventd.rc对硬件设备访问权限处理 ueventd.rc --------------------------------------------------------- /dev/n...
  • yiwuxue
  • yiwuxue
  • 2013年06月14日 17:52
  • 6575
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:phonegap-网络访问与调用android手机硬件设备
举报原因:
原因补充:

(最多只允许输入30个字)