热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于搭建基于Android和PhoneGap开发环境图文详解

搭建基于Android和PhoneGap开发环境是本文要介绍的内容,主要是来了解

搭建基于AndroidPhoneGap开发环境是本文要介绍的内容,主要是来了解AndroidPhoneGap的应用,具体详解来看详细内容。

IDE需要使用Eclipse 3.4+

安装 SDK + PhoneGap

1、需要安装eclipse 3.4+ 

  1. 下载地址:http://www.eclipse.org/downloads/ 

2、安装ADT插件

搭建基于Android和PhoneGap开发环境 

搭建基于Android和PhoneGap开发环境

添加ADT plug,地址为:

  1. http://dl-ssl.google.com/android/eclipse 

3、下载并安装 Android SDK

因为http://androidappdocs.appspot.com/sdk/index.html 被墙掉了,所以得另外找一个地址

Android SDK 3.1 (以下链接转载至:

  1. http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html) 

Windows

  1. http://dl.google.com/android/android-sdk_r11-windows.zip   
  2. http://dl.google.com/android/installer_r11-windows.exe  

Mac OS X(intel)

  1. http://dl.google.com/android/android-sdk_r11-mac_x86.zip  

Linux(i386)

  1. http://dl.google.com/android/android-sdk_r11-linux_x86.tgz 

然后就是安装了,需要很久很久….

别忘记了在系统环境变量中,添加android sdk的tools包路径

搭建基于Android和PhoneGap开发环境

(设置好以后可以在cmd下测试一下~)

环境弄好了,开始写个Demo(详情可参考PhoneGap的官网,需要先下载PhoneGap-0.9.5)~

1、新建一个Android Project

搭建基于Android和PhoneGap开发环境 

搭建基于Android和PhoneGap开发环境

2、导入需要的包、建议文件目录

下图是下载phonegap-0.9.5后解压出来的包,复制phonegap.0.9.5.jar到第一步建立的工程的libs目录中

搭建基于Android和PhoneGap开发环境

现在工程的目录(红色标的为新建的目录):

搭建基于Android和PhoneGap开发环境

选中 phonegap.0.9.5.jar,右击 -> Build Path –> Config Build Path…   切换到Libraries选项卡:

搭建基于Android和PhoneGap开发环境

添加架包:

搭建基于Android和PhoneGap开发环境

这时,可以看到libs目录与assets、res一样了,目录图标左上角多了个东西

搭建基于Android和PhoneGap开发环境

这里为了简单,直接复制phonegap例子中的三个文件到www目录下:

搭建基于Android和PhoneGap开发环境

修改com.phonegap.helloworld包下面的App.java文件:

搭建基于Android和PhoneGap开发环境

类继承于DroidGap(默认继承类Activity)

注释 setContentView(R.layout.main); 这一行,改为 super.loadUrl(file:///android_asset/www/index.html);

修改工程根目录下的AndroidManifest.xml文件,添加如下内容

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

在application节点下,找到activity节点,添加android:cOnfigChanges="orientation|keyboardHidden"

  1. <activity android:name=".exampleapp" 
  2.   android:label="@string/app_name"   
  3.   android:configChanges="orientation|keyboardHidden"> 

完整的文件内容

  1. xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"        
  3.     package="com.phonegap.helloworld"        
  4.     android:versionCode="1"        
  5.     android:versionName="1.1">          
  6.   <supports-screens          
  7.     android:largeScreens="true"      
  8.     android:normalScreens="true"     
  9.     android:smallScreens="true"    
  10.     android:resizeable="true"          
  11.     android:anyDensity="true"          
  12.   />              
  13.  <uses-permission android:name="android.permission.CAMERA" />      
  14.  <uses-permission android:name="android.permission.VIBRATE" />      
  15.  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />      
  16.  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />      
  17.  <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />      
  18.  <uses-permission android:name="android.permission.READ_PHONE_STATE" />      
  19.  <uses-permission android:name="android.permission.INTERNET" />      
  20.  <uses-permission android:name="android.permission.RECEIVE_SMS" />      
  21.  <uses-permission android:name="android.permission.RECORD_AUDIO" />      
  22.  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />      
  23.  <uses-permission android:name="android.permission.READ_CONTACTS" />      
  24.  <uses-permission android:name="android.permission.WRITE_CONTACTS" />      
  25.  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />      
  26.  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />          
  27.  <uses-feature android:name="android.hardware.camera" />      
  28.  <uses-feature android:name="android.hardware.camera.autofocus" />          
  29.  <application android:icon="@drawable/icon"   
  30.       android:label="@string/app_name"   
  31.       android:configChanges="orientation|keyboardHidden">                
  32.  <activity android:name=".App"                  android:label="@string/app_name">              
  33.  <intent-filter>                 
  34.   <action android:name="android.intent.action.MAIN" />                  
  35.   <category android:name="android.intent.category.LAUNCHER" />              
  36.   intent-filter>         
  37.  activity>      
  38. application>          
  39. <uses-sdk android:minSdkVersion="2" />     
  40. manifest> 

3、运行项目

右击项目,选中Run as 并点击 Android Application ,如果第一次启动,需要配置模拟器的虚拟设备(可能会遇到问题,配置后无法启动,把生成的文件.android移动到当前登录用户的文档目录下就好了,网上也有很多其它解决方法)

如果不出其它意外情况,正常情况下将会看到类似下面的界面(运行起来比较慢、卡,需要点耐心~) :

搭建基于Android和PhoneGap开发环境

进入界面(点中左侧的“锁”不放,向右移动,当 Unlock 颜色加深时就解锁成功了)

搭建基于Android和PhoneGap开发环境

需要再等待一会,在看到控制台出现

  1. Starting activity com.phonegap.helloworld.App on device emulator-5554 

之后,会看到下图所示的界面

搭建基于Android和PhoneGap开发环境

至此,第一个web app在模拟器上就成功跑起来了。整体跑下来,感觉还是挺麻烦的,这玩意太消耗内存了,机器会变的很卡,有时半天没响应,真是需要点耐心

小结:关于搭建基于AndroidPhoneGap开发环境的内容介绍完了,希望通过本文的学习能对你有所帮助!


推荐阅读
  • 本文记录了Android学习的初期阶段,包括Android的基本架构、Dalvik虚拟机与JVM的区别、ADB工具的使用以及应用程序的打包安装流程。 ... [详细]
  • 本文介绍了如何使用Gradle和gdx-setup.jar工具来创建LibGDX项目,包括详细的步骤和注意事项,适合初学者和有经验的开发者。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ... [详细]
  • Eclipse 中 JSP 开发环境配置指南
    本文详细介绍了如何在 Eclipse 集成开发环境中配置 JSP 运行环境,包括必要的软件下载、Tomcat 服务器的配置以及常见问题的解决方法。 ... [详细]
  • 本文介绍了如何利用Java中的URLConnection类来实现基本的网络爬虫功能,包括向目标网站发送请求、接收HTML响应、解析HTML以提取所需信息,并处理可能存在的递归爬取需求。 ... [详细]
  • 本文介绍了如何在WildFly 10中配置MySQL数据源时遇到的服务依赖问题及其解决方案。 ... [详细]
  • 初探Java编程:从入门到实践
    本文旨在为初学者提供Java编程的基础知识,涵盖程序、算法、流程图的概念,以及JDK环境的配置和Eclipse的使用方法。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • Java与JSON互转:实现JSON到Java对象及Java对象到JSON的转换
    本文详细介绍了如何在Java中实现JSON数据与Java对象之间的相互转换,包括代码示例和常见问题解决方法。 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 本文详细介绍了 Java 中 com.amazonaws.auth.SystemPropertiesCredentialsProvider 初始化方法的使用方式,并提供了多个实际的代码示例,帮助开发者更好地理解和应用这一方法。 ... [详细]
  • JSP服务器概述及搭建指南
    本文详细介绍了JSP服务器的概念、主流服务器软件及其搭建步骤,旨在帮助开发者更好地理解和使用JSP技术。 ... [详细]
  • 深入理解Android NinePatch图片在聊天界面的应用
    本文探讨了在开发Android应用,特别是聊天界面时,如何有效利用NinePatch图片解决图片拉伸问题。文章通过实例展示了不使用与使用NinePatch图片的区别,并详细介绍了如何创建和使用NinePatch图片。 ... [详细]
author-avatar
走走看看1971
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有