`

phoneGap-Android开发环境搭建

 
阅读更多

phoneGap-Android开发环境搭建

 
一.安装
在安装PhoneGap开发环境之前,需要按顺序安装以下工具:
  java sdk,不安装的话不能正常安装Android SDK。
  安装成功检测:启动DOS窗口start-->run-->cmd,在DOS窗口中键入:java -version,如能显示版本信息说明安装正常。
  java开发工具,这我就不用多说了,推荐装classic版的。
  下下来安装完之后是一个Android SDK Manager,你需要下载以下组件,可能需要较长时间:

  这是一个Eclipse插件,作用是关联Android SDK,使你的Eclipse能够新建Android工程,安装方法如下:
  打开Eclipse中的菜单 “Help”->”InstallNewSoftware”进入软件安装界面,点击“Add”按钮,如下图设置即可下载。

  下载PhoneGap,解压缩即可,打开里面的libs>android文件夹:

其中标红的三个文件夹是我们需要用到的。

二.新建一个PhoneGap项目

1.在eclipse中新建Android Project。
2.在项目的目录下,建两个文件夹:
/libs
/assets/www
3.进入将刚刚下载并解压的PhoneGap包里Anroid目录,我们需要的资源都在这个目录下。
 将cordova-2.0.0.js这个js文件(具体名称视当时下载的版本而定)copy到/assets/www目录下,
 把cordova-2.0.0.jar文件copy到/libs目录下。
 再把xml目录(xml整个文件夹)copy到android项目的res目录下。
4.在/assets/www下建立index.html文件,内容看起来像这样: 
复制代码
<!DOCTYPE HTML>
<html>
    <head>
        <title>PhoneGap</title>
        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    </head>
    <body>
        <h1>Hello World</h1>
    </body>

</html>
复制代码

5.将以下权限配置的xml内容copy到AndroidManifest.xml文件中:

复制代码
<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" />
复制代码
6.将以下内容添加到AndroidManifest.xml文件的activity标签中:

android:configChanges="orientation|keyboardHidden

这是为了保证机器在横竖屏切换的时候不会重新执行Activity的onCreate方法;

7.AndroidManifest.xml最后看起来会像这样:

复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.shawn"
    android:versionCode="1"
    android:versionName="1.0">
    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="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-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />

    <application android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme">
        <activity
            android:name="outer"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
复制代码或者如下这样:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.kenkao"
      android:versionCode="1"
      android:versionName="1.0">
      
    <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" />
    
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
        		  android:configChanges="orientation|keyboardHidden"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest> 

 

其中<application>标签我们可以看做是我们当前的应用,而<activity>代表我们应用内的一个界面,<intent-filter>标签里我们给当前页面设置了一个权限

android.intent.action.MAIN表示是最先启动的的界面;

android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里;

另外需要注意的是:

<activity
 android:name="outer"
 android:configChanges="orientation|keyboardHidden"
 android:label="@string/app_name" >

我们的<activity>标签中有这样一个类名outer,我们可以自己定义它,一会儿我们会用到这个类名。

8.在刚刚新建的Android Project中找到libs目录并在cordova-2.0.0.jar上点击右键,选择 Build Path->Add to Build Path

 

9.最后再修改下src下的Java主文件(如果没有就自己创建一个),我们要做以下几件事:
 1)添加import com.phonegap.*;
2)删掉import android.app.Activity;
3)还记得刚才的outer类么?这里将outer继承为DroidGap;
4)把setContentView()这行替换为super.loadUrl("file:///android_asset/www/index.html");
5)最后看起来就像这样:

 

复制代码
package com.example.shawn;

import android.os.Bundle;
import org.apache.cordova.*;

public class outer extends DroidGap {
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
}
复制代码或者这样:

 

package com.kenkao;

import org.apache.cordova.*;
import android.os.Bundle;

public class MainActivity extends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
}

 

package com.example.shawn;这句话是干嘛的呢?这是java中常用的,类似于文件的姓氏,看看文件树就知道了,这是放在文件前面定位用的。


public class outer extends DroidGap;这里将outer类继承为DroidGap,同时本文件的文件名也要注意保持一致(outer.java),否则会报错。

super.loadUrl("file:///android_asset/www/index.html");这句话大家可以理解为加载一个网页,这个路径大家很熟悉,就是我们的首页。透过这句话我们也可以看到phoneGap最根本的东西,就是在原生语言与网页语言之间架一座桥。

然后就可以在模拟器下试着运行一下这个项目,成功的话会出现Hello World的界面。

 

 

ok了,至此为止,phonegap的android开发环境就搭建好了,您可以基于phonegap编写自己的android应用了!


分享到:
评论

相关推荐

    android+Phonegap开发环境搭建

    android+Phonegap开发环境搭建android+Phonegap开发环境搭建android+Phonegap开发环境搭建android+Phonegap开发环境搭建

    PhoneGap-Desktop-Beta-0.1.1-win 下载

    PhoneGap Desktop-App可以在不搭建andrid 环境 不配置android sdk 或者不搭建xcode环境,或者不安装 node.js npm 的情况下就可以创建phoengap应用

    在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏[参考].pdf

    在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏[参考].pdf

    基于PhoneGap的Android应用开发

    基于PhoneGap的Android应用开发,转自网络,希望对phonegap环境搭建的朋友有些帮助

    PhoneGap开发环境搭建

    (只针对Android平台)在安装PhoneGap开发环境之前,需要先安装以下框架:1.JavaSDK2.Eclipse3.AndroidSDK4.ADTPlugin5.PhoneGap1.JavaSDK直接下载安装即可,没什么可说的,安装不了就是人品问题了;2.Eclipse也是直接...

    第一讲 快速搭建PhoneGap开发环境.pdf

    第一讲 快速搭建PhoneGap开发环境.pdf

    PhoneGap视频教程(10讲)

    教程名称: PhoneGap视频教程(10讲)【TI教程网】PhoneGap Android开发环境搭建视屏教程【TI教程网】PhoneGap目录结构介绍, 插件下载和安装、连接真实机器调试【TI教程网】PhoneGap视频教程第一讲【TI教程网】...

    Windows下IOS开发环境搭建

    Windows下IOS开发环境搭建,可以方便的用phonegap 打包android ios 的webApp程序

    PhoneGap+jQueryMobile开发Android应用实例

    PhoneGap+jQueryMobile开发Android应用实例,搭建开发环境

    PhoneGap开发移动应用(Android)

    当前最新的phonegap(cordova)环境搭建指南,我就是按照这个一步一步做的,成功了,如有疑问请留言,会第一时间解决。

    phonegap开发安卓

    安卓移动设备开发 利用phonegap 可以用你所了解的JS,HTML进行安卓等手机应用的开发,文档包含开发环境的搭建方法步骤,以及开发实例

    Ubuntu 11.04 搭建Android开发环境

    on an Ubuntu 11.04 desktop using Eclipse, the Android SDK, and PhoneGap. I will describe how to build Android apps from the command line with PhoneGap and from the GUI with Eclipse and PhoneGap and ...

    Android 平台 HTML5 应用开发

    Android 平台 HTML5 应用开发,PhoneGap 技术架构, Android 开发环境搭建,使用 DreamWeaver 开发 HTML5 应用

    PhoneGap 视频教程+源码+课件

    不搭建andrid 环境 不配置android sdk 或者不搭建xcode环境,或者不安装 node.js npm 的情况下就可以创建phoengap应用 电脑敲代码 手机上的phonegap app实时自动更新显示 视频教程+源码+课件

    搭建基于PhoneGap框架的Mobile应用

    目前,随着Google的Android手机和...本文主要介绍PhoneGap的基础知识,并通过一个示例介绍PhoneGap开发测试环境的搭建以及PhoneGap项目的开发和部署,并对PhoneGap提供的主要API做简单介绍.PhoneGap是一款基于HTML5的开

    关于跨平台移动应用开发框架的探索--PhoneGap

    之后,基于Eclipse和PhoneGap框架搭建了Android的开发环境,并在该环境中开发测试了简单的Android应用程序。本文通过介绍移动互联网的发展,引出了跨平台移动应用开发的现状,并对当前的跨平台移动应用开发框架进行...

    cordova开发Hybird APP——开发环境安装

    1. cordova简介 Apache Cordova是Apache基金会支持的一套开源移动APP的开发工具,其前身是phonegap。phonegap被收购后,开发者将其...以android为例,完成开发环境搭建。需要依次下载安装: android SDK Tools Gradle N

Global site tag (gtag.js) - Google Analytics