本文的合集已经编著成书,高级Android开发强化实战,欢迎各位读友的建议和指导。在京东即可购买:https://item.jd.com/12385680.html
1. 需求
工作之前, 先说说需求 - NativeApp和WebApp各有千秋, 为了各取所长, 我们需要在在已有的应用中集成H5页面, 那么如何做呢? 让我们来看看PhoneGap, 试试这个东西怎么用!
网址: http://phonegap.com/
下载: http://phonegap.com/install/
下载SDK, 当然必须下载最新的, PhoneGap 2.9.1.
新建Android的应用程序, HelloWorld即可.
我们要做的就是用一个Button跳转PhoneGap类型的Activity.
2. 配置assets
配置PhoneGap
在assets文件夹下新建www文件夹
如何配置assets目录?
默认在HelloWorld项目中不包含此目录, 在app.iml中
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />显示默认位置, 在此新建assets文件夹即可.
复制/phonegap-2.9.1/lib/android/cordova.js
复制/phonegap-2.9.1/lib/android/framework/res/xml/config.xml
至www文件夹.
并且新建HTML启动页, index.html, 就是一个简单的HelloWorld.
<span style="font-family:Courier New;"><!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script charset="utf-8"
src="cordova-2.2.0rc1.js"
type="text/javascript">
</script>
</head>
<body>
<h1>Hello PhoneGrap</h1>
</body>
</html>
</span>
3. 生成Jar包
在libs中添加phonegap-2.9.1.jar, 这个jar包phonegap竟然没有提供, 正好我们生成一个最新的.
下载源码: https://www.apache.org/dist/cordova/platforms/
最新的是: cordova-android-4.1.1.tgz, 之后解压.
读读README, 了解一下怎么用.
示例代码在这 /package/test, 核心模块是framework.
进入test目录, gradle build一下即可.
出现错误, 按照提示添加这个就行.
lintOptions { abortOnError false}
最终的jar包就 是/framework/build/intermediates/bundles/release/classes.jar, 改个名字就OK, 比如phonegap-2.9.1.jar.
如果想看看这个代码, Import Project调用test工程即可.
4. 代码
最后在MainActivity中加一个按钮, 跳转PhoneGap的Activity即可.
PhoneGapActivity的代码如下, 简单加载了一个HTML5的页面.
package www.wangchenlong.me.test_js;
import android.os.Bundle;
import org.apache.cordova.CordovaActivity;
/**
* PhoneGap的HelloWorld
* <p/>
* Created by wangchenlong on 15/10/20.
*/
public class PhoneGapActivity extends CordovaActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 更换一下载入形式
//setContentView(R.layout.activity_main);
super.loadUrl("file:///android_asset/www/index.html");
}
}
注: android_asset就是我们的assets目录, 由app.iml注明.
最终的工程目录:
OK, 现在可以根据PhoneGap的内容, 随便的玩耍了, Nice!