用phoneGap打包一个基于Android的WebApp
来源:互联网 发布:第二批网络禁书目录 编辑:程序博客网 时间:2024/05/16 15:50
在Android上,我们可以基于android.webkit.WebView作为应用的main view来产生一个应用程序,并让此WebView在应用启动时加载指定的网页,这样就构建了一个基于Android的WebApp。
对于Android, Sencha的phonegap也是基于此方法对网页程序进行打包的,下载phonegap后,其主要包括二个文件:
1.phonegap.0.9.4.jar
此jar文件中包含了类DroidGap,其对Activity及WebView进行了适当的封装,可以让用户更方便地进行打包。
更主要的功能是能实现的多个Webkit的plugin, 通过这些plugin可以在javascript中直接调用android的一些系统功能,比如得到设备的信息如屏幕大小,系统版本号等,还有打电话,发送短信,写本地文件等一系列功能。
2.phonegap.0.9.4.js
此js文件作了更高层次的封装,以便于在javascript中更方便地调用所增加的plugin的功能。比如在js中直接调用:
navigator.notification.vibrate(0)可以直接让手机进行振动
而navigator.notification.beep(2)可以让手机Beep二声
以下尝试一个最简单的例子(也可以参见phonegap中自带的一个例子):
1)java源代码文件: Sample.java
package com.phonegap.Sample;
import android.app.Activity;
import android.os.Bundle;
import com.phonegap.*;
public class Sample extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
}
2)网页代码: index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8" src="phonegap.0.9.4.js"></script>
<title>Test</title>
</head>
<body>
<a href="javascript:navigator.notification.alert('hello');">click me</a>
</body>
</html>
把此文件放置在工程的assets/www/目录下,如果网页代码中包含了其它的目录,则一并放置在这一目录下。
3)在工程中加入库phonegap.0.9.4.jar的引用
编译运行并点击页面中click me链接时,可以见到以下画面:
注意:
1)phonegap.0.9.4.jar中提供了很多的plugin, 上面的示例程序只调用了navigator.notification.alert, 如需要调用其它功能,则需要在android工程的Manifest.xml中加入这个功能permission声明:
<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.READ_PHONE_STATE" />
<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.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" />
2)在此可下载完整的工程文件,此例子基于phonegap自带的一个例子,但只保留了最少的部分。
- 用phoneGap打包一个基于Android的WebApp
- PhoneGap打包基于Android的WebApp环境搭建与配置
- 基于命令行编译打包phonegap for android应用
- Jquery mobile + phoneGap 写WebApp---android
- 移动WebApp开发-phoneGap+android入门
- 【Cordova+Android+PhoneGAP-2.9】webAPP环境搭建
- 基于PhoneGap的Android应用开发[eclipse]
- 基于PhoneGap的Android应用开发
- 如何用PhoneGap Build 在线搭建一个属于自己的webAPP
- phonegap------angularjs+ionic高大上的webApp
- Android/Ios 运行Cordova打包Vue的WebApp
- Phonegap打包Android程序无法实现定位的问题
- 一个简单的基于PHONEGAP的开源微博客户端
- osx下用phonegap搭建ios和android打包服务
- 用phonegap将html打包成Android应用
- Android:WebApp同时使用WebView和Phonegap DroidGap
- Android WebApp 開發教學 (3) – HTML5 + PhoneGap = 如虎添翼
- 打包WebApp
- C核心技术手册(三十七)
- 面向对象设计原则六 - 针对接口编程,而不是针对实现编程
- 面向对象设计原则七 - 组合优先于继承
- Mercurial Source Control Plugin for MS Visual Studio
- 无线网络之简单程序
- 用phoneGap打包一个基于Android的WebApp
- php 面向对象学习
- thrift之Hello--python client & cpp sever
- 清秀真诚有主见!
- CWnd::SetDlgCtrlID 函数
- 单旋SPLAY的优化
- 她真的走了
- Android Service生命周期及用法
- Zend Framework学习日记(2)--HelloWorld篇