Android开发之Eclipse中搭建PhoneGap运行环境

最近听朋友说以后安卓更偏向混合开发,而不单单是原生开发,特别是收到html5的冲击。于是我就从网上看了一些关于混合开发的资料,小结一下,和各位机友共同学习,也便于以后更深层次的学习混合开发。

1.第一步,配置好能正好开发android应用程序的eclipse环境(安装jdk,安卓开发的adt,配置好环境)。

2.新建android项目,在assets目录中,新建www文件夹,用来存放js和css等文件


3.下载PhoneGap框架,解压得到下列文件,其中有用的是libs


4.进入lib/android/下,将cordova.js拷贝至刚才的新建的www文件夹下,而将cordovas-2.9.0拷贝至项目libs下,将xml整个目录拷贝到res/目录下


5.在www文件下建立html文件,一直下一步,模板选html5模板,打开新建的html文件,在其中引入js文件,另外添加h小标题用于显示内容


6.在Manifest文件中application前加入以下行代码,同时在activity声明中加入

android:configChanges="orientation|screenSize"这句话。这样横竖屏时不会导致生命周期重启

 <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="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" />

 


7.最后一步也是最容易忘记的一步,将类不继承activity,改为继承DroidGap,另外将setContentView()方法,用loadurl替换


8.运行,出现画面如下,说明已经加载成功了,另外可能有部分人打开程序时会有闪黑屏的情况,可以通过在res/values/styles AppTheme中加入如下一句话,让app一加载就是黑色的背景来屏蔽这一缺点。

<itemname="android:windowBackground">@color/black</item>



已经装eclipseandroid sdk及adt的安装和配置。 1.进入eclipse界面,新建android工程 new > android project 2.该工程目录下建立两个文档 /libs 和 /assets/www 3.把phonegapandroid目录下的cordova-1.7.0.js拷贝到 /assets/www下, 把同目录下的cordova-1.7.0.jar拷贝到/libs下 4.复制phonegapandroid目录下的xml文件夹到 /res下 5.android默认的项目是针对native app的,所以要用web app(cordova)的话,必须修改它的引用文件。 5.1引用加载cordova-1.7.0.jar,这时候可以按F5刷新工程。 5.2去掉import部分的import android.app.Activity;并加上import org.apache.cordova.*; 5.3修改src文件下的java文件,把class extends 的activity改成DroidGap 5.4把 setContentView() line with super.loadUrl(“file:///android_asset/www/index.html”); 6. 打开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.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和application之间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值