前文
大家都知道phoneGap跨平台移动框架,支持平台有 IOS/android/windows8/……等主流移动操作系统!
接现在就来搭建使用phoneGap开发Android的HelloWorld程序!
IDE:IntelliJ IDEA(如何安装我就不说了)
1.新建Android项目
由于IntelliJ IDEA本身带有Android开发插件,所以可以直接New Android project……
File - New project - Create project from scratch - Next
启动Android模版插件
如果这里没有 Android 模版不用着急,只是你没有安装使用Android插件,看下图加载使用Android插件即可
在出现的界面中选择Next一直到出现如下图选择Android然后Finish即可返回上一层新建Android模版创建project
(PS:一般默认会全部选中,那样启动时会全部加载,当然启动时间/内存你懂的。)
新建项目遇到下图是要添加JAVA SDK的,也就是jdk,选择你安装JDK的路径即可,这里我使用的版本是jdk 1.6.0_25
然后下一步你会遇到一个错误,没有Android SDK怎么开发呢?不怕,看图:
接下来会进入配置SDK界面
在下面的界面里选择你的AndroidSDK目录即可
然后选择使用的JAVA SDK版本 androidSDK版本(会读取你选择的AndroidSDK目录中所有的版本 供你选择使用)
然后Finish就Ok了,IDE会自动创建加载……
出现上图这个界面,不要怕,只是提示你是否每次在启动的时间显示使用技巧,可以不管直接close,你也可以把钩钩去掉下次就没有咯……
创建Android模拟器
android项目搭建大功告成。不过现在别高兴太早,虽然Android项目创建成功了,但是你还没有Android模拟器,跟我去创建模拟器吧!
选择 Edit Configurations……然后展开Android application选择你的HelloWorld 如图
这里要注意,Name是指创建模拟器的名字,但是Target选择你创建模拟器的版本,记住,要大于等于你刚刚创建项目时使用的Android版本,我这里就选择2.3.1和项目版本一致
点击 Create AVD模拟器就创建了,然后回去选择下拉框就会有你创建的模拟器选择 然后OK ,这个时间你可以启动看看模拟器了……
2.在HelloWorld的上搭建phoneGap环境
进入将刚刚下载并解压的PhoneGap包里lib目录下Anroid文件中,我们需要的资源都在这个目录下。将cordova-xxxxx.js这个js文件(具体名称视当时下载的版本而定)copy到/assets/www目录下(如果没有就在assets下面新建一个www文件夹、如果连assets文件夹都没有那就在项目下面建一个assets文件夹,再建www文件夹), 把cordova-xxxx.jar文件copy到/libs目录下(没有就在项目下新建libs文件夹,右键add as library)。再把xml目录copy到android项目的res目录下。
目录结构最终看起来是这样的:
在/assets/www下建立index.html文件,内容如下:
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.js"></script>
</head>
<body style="text-align: center;background-color: #9acd32;">
<h1>Hello World PhoneGap For android</h1>
</body>
</html>
Android权限配置
将以下权限配置的xml内容copy到AndroidManifest.xml文件manifest标签内:
<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.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" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
将以下内容添加到AndroidManifest.xml文件的activity标签中:
这是为了保证机器在横竖屏切换的时候不会重新执行Activity的onCreate方法;
android:configChanges="orientation|keyboardHidden"
然后修改src下面的myActivity文件 内容如下:
package com.example;
import android.os.Bundle;
import org.apache.cordova.DroidGap;
public class MyActivity extends DroidGap{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
//setContentView(R.layout.main);
}
}
现在你可以运行你的这个项目了,如果出现如下内容说明你的环境搭建OK了……(如果你写了中文出现了乱码、不要怕如果你打包在真实机器上运行是不会乱码的)
作者:郏高阳 Fake Mr
来源:oschina
链接:https://my.oschina.net/u/152736/blog/94800