zoukankan      html  css  js  c++  java
  • (转)phoneGap-Android开发环境搭建

    (原)http://www.cnblogs.com/shawn-xie/archive/2012/08/15/2638480.html

    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>
    复制代码

    其中<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.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应用了!

  • 相关阅读:
    elasticsearch 中的Multi Match Query
    activiti 流程部署的各种方式
    elasticsearch 嵌套对象之嵌套类型
    elasticsearch Java High Level REST 相关操作封装
    elasticsearch 字段数据类型
    ubuntu 安装 docker
    elasticsearch 通过HTTP RESTful API 操作数据
    facenet 人脸识别(二)——创建人脸库搭建人脸识别系统
    POJ 3093 Margaritas(Kind of wine) on the River Walk (背包方案统计)
    墨卡托投影, GPS 坐标转像素, GPS 坐标转距离
  • 原文地址:https://www.cnblogs.com/allearner/p/3823867.html
Copyright © 2011-2022 走看看