PhoneGap官方网站上有详细的入门示例教程,这里,我针对使用PhoneGap进行Android移动应用的开发对其官网的Get Started进行一些介绍、补充。

Step1、选择你想要进行开发的移动平台,点击Android图标

Step2、需要安装的软件-Eclipse3.4以上版本

Step3、安装SDK+PhoneGap

(1)安装Eclipse3.4,我安装使用的为3.6版本中文语言包(如果你使用的是英文原版,下面的一些操作请自行和我的中文描述对应),ADT Plugin要求使用3.5.1以上版本 。如果你对Eclipse不了解,不知道使用哪种版本的,建议下载Eclipse Classic版本。Eclipse为绿色版软件,下载后解压到任意位置均可使用。

(2)下载安装JDK (java SDK)。android SDK 依赖于JDK,所以必须先安装JDK 。JDK1.6官方下载 。JDK 安装好以后,需要配置系统环境变量。配置系统环境变量.

(3)下载安装Android SDK (android官方下载地址不可直接访问,华军有当前最新版本的SDK下载,访问这里)。同JDK设置环境变量一样,需要设置ADK的环境变量为(以我 安装ADK的路径为例) M:\Program Files\Android\android-sdk\platform-tools

(4)下载安装 ADT Plugin 是一款Eclipse的插件,用于快速开发Android应用。

(5)下载最新版本的PhoneGap

以上所有都安装好以后,再进行下一步

Step4

◆打开Eclipse,选择文件->新建->其他->Android Project

并建立一个专案本文以 [helloinside]为名称,分别输入专案的属性为

Application name:helloinside

Package name:com.phonegap.helloinside

Create Activity:app

这一步如果遇到No target available ,是因为ADK环境没配置好 首选项—>android—>选择android-sdk的路径,然后点击应用即可。(需要重新启动Eclipse)

注:目前PhoneGap 0.9.3用Android 2.3以上版本会出错,所以Build Target请选 Android 2.2以下的版本。

◆在新建项目的根目录下,创建两个目录

  1. /libs
  2. /assets/www

◆解压PhoneGap文件夹,复制phonegap.js文件到/assets/www 目录下,复制phonegap.jar文件到libs目录下

◆需要对Eclipse下项目的App.java文件(src文件夹内)进行一些配置(如图所示)

修改类的继承 将Activity 修改为 DroidGap

将setContentView() 这一行修改为super.loadUrl("file:///android_asset/www/index.html");

添加 import com.phonegap.*;

有可能在这里会遇到一个错误,显示Eclipse找不到phonegap-0.9.2.jar ,右键点击/libs文件夹,Build Paths(构建路径)/ > Configure Build Paths(配置构建路径) 在library(库)栏向工程中添加phonegap-0.9.4.jar ,可能需要按一次F5刷新。

◆右键点击AndroidManifest.xml文件,选择Open With > Text Editor(打开方式->文本编辑器)

◆粘贴下面的授权信息至版本名称后面(如图所示)

  1. <supports-screens
  2. android:largeScreens="true"
  3. android:normalScreens="true"
  4. android:smallScreens="true"
  5. android:resizeable="true"
  6. android:anyDensity="true"
  7. />
  8. <uses-permissionandroid:name="android.permission.CAMERA"/>
  9. <uses-permissionandroid:name="android.permission.VIBRATE"/>
  10. <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
  11. <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
  12. <uses-permissionandroid:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
  13. <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
  14. <uses-permissionandroid:name="android.permission.INTERNET"/>
  15. <uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>
  16. <uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>
  17. <uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
  18. <uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
  19. <uses-permissionandroid:name="android.permission.WRITE_CONTACTS"/>
  20. <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  21. <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

◆向activity标记中添加android:configChanges="orientation|keyboardHidden” (如上图所示)

Step5

◆新建一个index.html文件至/assets/www目录下

◆粘贴下面的代码至index.html文件中

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <title>PhoneGap</title>
  5. <scripttype="text/javascript"charset="utf-8"src="phonegap.js"></script>
  6. </head>
  7. <body>
  8. <h1>Hello World!</h1>
  9. </body>
  10. </html>

Step6

◆右键点击项目,选择 运行方式-> Android Application

◆Eclipse可能会询问你选择一个AVD(Android运行的虚拟设备),如果没有,你可以创建一个(建议选择2.2版本)

注意:运行时初始启动较慢,需要耐心等待几分钟。

如果你看到了下面这张图,恭喜你,hello world运行成功!

Step7

◆确保你的设备上开启了USB debug模式,并且通过USB线将它连接到电脑上(你的设备:设置->应用->开发)

◆右键点击项目,选择 运行方式-> Android Application

OK ! 如果不出意外的话,你的第一个Android版应用 Hello World!就已经大功告成了。接下来,你可以参阅PhoneGap wiki

phonegap学习入门的更多相关文章

  1. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  2. C# BackgroundWorker组件学习入门介绍

    C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...

  3. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  4. 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇

    始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...

  5. UML学习入门就这一篇文章

    1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...

  6. Phonegap学习点滴(2) -- 网络状态检测

    Phonegap学习点滴(2) -- 网络状态检测  http://blog.csdn.net/x251808026/article/details/16992943 方法一:在MainActivit ...

  7. Stanford Parser学习入门(2)-命令行运行

    在Stanford parser目录中已经定义了一部分命令行工具以及图形界面,本文将介绍如何在windows使用这些工具进行语法分析,Linux下也有shell可以使用. 关于如何搭建环境请参考上一篇 ...

  8. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  9. 深度学习入门实战(二)-用TensorFlow训练线性回归

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :董超 上一篇文章我们介绍了 MxNet 的安装,但 MxNet 有个缺点,那就是文档不太全,用起来可能 ...

随机推荐

  1. sql server 删除索引的语句

    DROP INDEX index_name ON talbe_nameDROP INDEX IX_TBlueyBook_10 ON 表名

  2. Majority Element II——LeetCode

    Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorit ...

  3. MVC传值方式及优缺点

    说在前面文章转自 http://www.cxyclub.cn/n/49493/ 在MVC控件器传递多个Model到视图,使用ViewData,ViewBag,部分视图,TempData,ViewMod ...

  4. ARM启动流程

    S3C2440支持两种启动方式:norflash启动和nandflash启动. 一.norflash启动 NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用 ...

  5. tyvj P1431 [Tyvj Jan]分配任务(最大流)

    P1431 [Tyvj Jan]分配任务 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述      随着tyvj发展越来越大,管理员的任务越来越重,如何合理的 ...

  6. 迷宫 maze

    1 #include <stdlib.h> #include <stdio.h> #define stackinitsize 50 #define stackincrement ...

  7. C++ static(施工中)

    static 变量 头文件中的static会在引用该头文件的cpp中分别生成副本 //H.h #ifndef _H_H_ #define _H_H_ ; #endif //Ex_2.c #includ ...

  8. denyhost

    1. denyhost 简介及ssh安全 对外提供的服务器,每天都会被恶意扫描,试图暴力穷举密码,达到入侵的目的.从而控***务器,占用资源.网页挂马.垃圾广告.更会影响我们业务的正常使用和数据的安全 ...

  9. python 解析 配置文件

    资料: https://docs.python.org/3/library/configparser.html 环境 python 3.4.4 RawConfigParser方式 example.cf ...

  10. 333. Largest BST Subtree

    nlgn就不说了..说n的方法. 这个题做了好久. 一开始想到的是post-order traversal. 左右都是BST,然后自己也是BST,返还长度是左+右+自己(1). 左右其中一个不是,或者 ...