首页 > 其他分享 >phoneGap-Android开发环境搭建

phoneGap-Android开发环境搭建

时间:2023-01-05 17:38:40浏览次数:72  
标签:xml www outer phoneGap Android true android 搭建


phoneGap-Android开发环境搭建



一.安装



在安装PhoneGap开发环境之前,需要按顺序安装以下工具:



1. ​​Java SDK​



  java sdk,不安装的话不能正常安装Android SDK。



  安装成功检测:启动DOS窗口start-->run-->cmd,在DOS窗口中键入:java -version,如能显示版本信息说明安装正常。



2. ​​Eclipse​



  java开发工具,这我就不用多说了,推荐装classic版的。



3. ​​Android SDK​



  下下来安装完之后是一个Android SDK  Manager,你需要下载以下组件,可能需要较长时间:



phoneGap-Android开发环境搭建_java



4. ​​ADT Plugin​



  这是一个Eclipse插件,作用是关联Android SDK,使你的Eclipse能够新建Android工程,安装方法如下:



  打开Eclipse中的菜单 “Help”->”InstallNewSoftware”进入软件安装界面,点击“Add”按钮,如下图设置即可下载。



phoneGap-Android开发环境搭建_android_02



5. ​​PhoneGap​



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



phoneGap-Android开发环境搭建_开发工具_03

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

二.新建一个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

 

phoneGap-Android开发环境搭建_xml_04



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中常用的,类似于文件的姓氏,看看文件树就知道了,这是放在文件前面定位用的。

phoneGap-Android开发环境搭建_android_05




public class outer extends

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

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

 

phoneGap-Android开发环境搭建_android_06

 

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

标签:xml,www,outer,phoneGap,Android,true,android,搭建
From: https://blog.51cto.com/kenkao/5991608

相关文章

  • Android四大基本组件介绍与生命周期
    ​​Android四大基本组件介绍与生命周期​​Android四大基本组件分别是Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器。一:了解四大......
  • cocos2d-x基于windows平台交叉编辑android工程
    cocos2d-x确实是一款优秀的引擎,尽管和正规军的unity3d比起来它显得有点土,但它在移动平台上的性能表现着实惊艳。以下讲解如何将win32工程交叉编译到android平台。 一、环境......
  • android常用布局基础学习
     总结:可水平放置可垂直放置也可穿插使用,默认为水平  <!--我在第一次使用权重的时候忽视了本线性布局中的宽度与高度,如果要使用权重,请将线性布局的最初大小设置为ma......
  • Adobe AIR for Android 缓存本地数据常用方法
    Local SharedObject这种方法比较简单方便的保存少的数据到到设备中。你不用自己去管理这些数据,设备会自动管理他。SharedObject 在 flash.net 包中,继承自EventDispatche......
  • android平台解释器+JIT+AOT代码执行学习
    dalvikJIT(Just-In-Time)JIT即时编译,即在代码运行时进行编译。对于dalvik虚拟机而言其检测到执行频率较高的函数时就会进行jit编译将其编译为本地机器码,这样下次此函数执行......
  • BBS项目(四):临时评论渲染 文章子评论功能 后台管理页面搭建 添加文章页面搭建
    目录临时评论样式渲染文章子评论业务逻辑后台管理页面搭建后台管理页面模板创建添加文章页面搭建富文本编辑器添加文章初步实现添加文章功能优化beautifulsoup模块基本使用......
  • android游戏开发框架libgdx环境搭建
    原文链接:android游戏开发框架libgdx的使用(一)--环境搭建Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统)......
  • android Service 的简单使用
    androidService的简单使用1、要使用Service,首先就是在配置文件里吗添加Service,如果不填加,你的Service是不能够使用的。目前学到的方法有两种  方法一:<serviceandroi......
  • Android开发环境搭建全程演示(jdk+eclipse+android sdk)
    全程演示android开发环境的搭建过程,无需配置环境变量。所有软件都是写该文章时最新版本一相关下载(1)javaJDK下载:进入该网页:​​http://java.sun.com/javase/download......
  • Android杂谈--ListView之ArrayAdapter的使用
    Android杂谈--ListView之ArrayAdapter的使用ArrayAdapter总是感觉写自己的博客才更能够学到东西,网上尽管有很多好的资料,但是参差不齐,需要浪费大量时间才能够......