zoukankan      html  css  js  c++  java
  • 搭建基于Android和PhoneGap的开发环境

    IDE需要使用Eclipse 3.4+

    安装 SDK + PhoneGap

    1、需要安装eclipse 3.4+  下载地址>>

    2、安装ADT插件

    image

    image

    添加ADT plug,地址为:http://dl-ssl.google.com/android/eclipse

    3、下载并安装 Android SDK

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

    Android SDK 3.1 (以下链接转载至:http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html)

    Windows

    http://dl.google.com/android/android-sdk_r11-windows.zip

    http://dl.google.com/android/installer_r11-windows.exe

    Mac OS X(intel)

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

    Linux(i386)

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

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

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

    image

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

    ===========

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

    1、新建一个Android Project

    image

    image

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

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

    image

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

    image

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

    image

    添加架包:

    image

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

    image

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

    image

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

    image

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

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

    修改工程根目录下的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-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

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

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

    完整的文件内容

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.phonegap.helloworld"
    android:versionCode="1"
    android:versionName="1.1">


    <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-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <application android:icon="@drawable/icon" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
    <activity android:name=".App"
    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>

    <uses-sdk android:minSdkVersion="2" />

    </manifest>

    3、运行项目

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

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

    image

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

    image

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

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

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

    image

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

  • 相关阅读:
    java基础(六):RabbitMQ 入门
    Spring Boot 入门(六):集成 treetable 和 zTree 实现树形图
    Geoserver+Openlayers拉框查询
    Spring Boot 入门(五):集成 AOP 进行日志管理
    Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理
    java基础(五):谈谈java中的多线程
    java基础(四):谈谈java中的IO流
    java基础(三):谈谈java异常的处理
    java基础(二):谈谈Java基本数据结构
    Java编译时常量和运行时常量
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/2052521.html
Copyright © 2011-2022 走看看