创建 Cordova/Phonegap for Android 项目

在 Eclipse Android Developer Tools 中新建 Android Application Project

在 Creates a new Android Application 界面中输入程序相关信息
在 Configure Project 界面中
选中 Create custom launcher icon
取消选中 Create activity
取消选中 Mark this project as a library
取消选中 Create Project in Workspace
在 Create Activity 界面中
取消选中 Create Activity

引用 Cordova 库
单击 Project 菜单,单击 Properties 菜单项
左侧选择 Android ,在右侧的 Library 中单击 Add 按钮,选择 Cordova

创建 HTML 文件
在 assets 文件夹中创建 www 文件夹,在 www 文件夹中创建 index.html 文件,输入下面的内容
[html]  view plain copy
  1. <html>  
  2. <body>  
  3. <p>Hello World!</p>  
  4. </body>  
  5. </html>  

隐藏应用程序的标题栏
编辑 /res/values/styles.xml 文件,在下面的代码位置增加一行不显示应用程序的标题栏
[html]  view plain copy
  1. <style name="AppTheme" parent="AppBaseTheme">  
  2.     <!-- All customizations that are NOT specific to a particular API-level can go here. -->  
  3.     <item name="android:windowNoTitle">true</item>  
  4. </style>  

新建 Android XML Layout File
在 File 中输入 main
在 Root Element 中选择 LinearLayout
将生成 /res/layout/main.xml 文件

编辑 /res/layout/main.xml
在编辑器中拖放 org.apache.cordova.CordovaWebView 到设计区,文件中将自动增加如下代码。
[html]  view plain copy
  1. <org.apache.cordova.CordovaWebView  
  2.     android:id="@+id/cordovaWebView1"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent" />  
文件完整的代码如下。
[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.     <org.apache.cordova.CordovaWebView  
  7.         android:id="@+id/cordovaWebView1"  
  8.         android:layout_width="match_parent"  
  9.         android:layout_height="match_parent" />  
  10. </LinearLayout>  

创建 Activity 类
在 src 中创建包 test1.actions
在包 test1.actions 中创建类 Test1Activity
Superclass 选择 android.app.Activity
Interfaces 中 Add org.apache.cordova.api.CordovaInterface
选中 Inherited abstract methods

按 Cordova 要求实现 getActivity 函数
[java]  view plain copy
  1. @Override  
  2. public Activity getActivity() {  
  3. // TODO Auto-generated method stub  
  4. return this;  
  5. }  

按 Cordova 要求实现 getThreadPool 函数
创建一个成员变量
[java]  view plain copy
  1. private final ExecutorService threadPool = Executors.newCachedThreadPool();  
编写 getThreadPool 函数
[java]  view plain copy
  1. @Override  
  2. public ExecutorService getThreadPool() {  
  3. // TODO Auto-generated method stub  
  4. return threadPool;  
  5. }  

按 Cordova 要求绑定 WebView 对象
创建一个成员变量
[java]  view plain copy
  1. private CordovaWebView cordovaWebView;  
编写 onCreate 函数
[java]  view plain copy
  1. @Override  
  2. public void onCreate(Bundle savedInstanceState) {  
  3. super.onCreate(savedInstanceState);  
  4. setContentView(R.layout.main);  
  5. cordovaWebView = (CordovaWebView) findViewById(R.id.cordovaWebView1);  
  6. cordovaWebView.loadUrl("file:///android_asset/www/index.html");  
  7. }  
编写 onDestroy 函数
[java]  view plain copy
  1. @Override  
  2. public void onDestroy() {  
  3. super.onDestroy();  
  4. if (cordovaWebView != null) {  
  5. cordovaWebView.handleDestroy();  
  6. }  
  7. }  

完整的程序代码如下
[java]  view plain copy
  1. package test1.actions;  
  2. import java.util.concurrent.ExecutorService;  
  3. import java.util.concurrent.Executors;  
  4. import org.apache.cordova.CordovaWebView;  
  5. import org.apache.cordova.api.CordovaInterface;  
  6. import org.apache.cordova.api.CordovaPlugin;  
  7. import test1.R;  
  8. import android.app.Activity;  
  9. import android.content.Intent;  
  10. import android.os.Bundle;  
  11. public class Test1Activity extends Activity implements CordovaInterface {  
  12.           
  13.         private final ExecutorService threadPool = Executors.newCachedThreadPool();  
  14.         private CordovaWebView cordovaWebView;  
  15.         @Override  
  16.         public void onCreate(Bundle savedInstanceState) {  
  17.                 super.onCreate(savedInstanceState);  
  18.                  
  19.                 setContentView(R.layout.main);  
  20.                  
  21.                 cordovaWebView = (CordovaWebView) findViewById(R.id.cordovaWebView1);  
  22.                  
  23.                 cordovaWebView.loadUrl("file:///android_asset/www/index.html");  
  24.         }  
  25.           
  26.         @Override  
  27.         public void onDestroy() {  
  28.                 super.onDestroy();  
  29.                 if (cordovaWebView != null) {  
  30.                         cordovaWebView.handleDestroy();  
  31.                 }  
  32.         }  
  33.           
  34.         @Override  
  35.         public void startActivityForResult(CordovaPlugin command, Intent intent,  
  36.                         int requestCode) {  
  37.                 // TODO Auto-generated method stub  
  38.         }  
  39.         @Override  
  40.         public void setActivityResultCallback(CordovaPlugin plugin) {  
  41.                 // TODO Auto-generated method stub  
  42.         }  
  43.         @Override  
  44.         public Activity getActivity() {  
  45.                 // TODO Auto-generated method stub  
  46.                 return this;  
  47.         }  
  48.         @Override  
  49.         public Object onMessage(String id, Object data) {  
  50.                 // TODO Auto-generated method stub  
  51.                 return null;  
  52.         }  
  53.         @Override  
  54.         public ExecutorService getThreadPool() {  
  55.                 // TODO Auto-generated method stub  
  56.                 return threadPool;  
  57.         }  
  58. }  

编辑 AndroidManifest.xml 文件
打开 AndroidManifest.xml 编辑器,选择 Application 选项卡
在 Application Nodes 中单击 Add 按钮,选择 Activity
选择 Activity,设置 Name 值为 .actions.Test1Activity
选择 Activity,单击 Add 按钮,选择 Intent Filter
选择 Intent Filter,单击 Add 按钮,选择 Action
选择 Action,设置 Name 值为 android.intent.action.MAIN
选择 Category,设置 Name 值为 android.intent.category.LAUNCHER
完成后在文件中将增加如下代码
[html]  view plain copy
  1. <activity android:name=".actions.Test1Activity">  
  2.     <intent-filter>  
  3.         <action android:name="android.intent.action.MAIN" />  
  4.      <category android:name="android.intent.category.LAUNCHER" />  
  5.     </intent-filter>  
  6. </activity>  
完整的文件代码如下
[html]  view plain copy
  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     package="com.daonao.test1"  
  3.     android:versionCode="1"  
  4.     android:versionName="1.0" >  
  5.     <uses-sdk  
  6.         android:minSdkVersion="1"  
  7.         android:targetSdkVersion="17" />  
  8.     <application  
  9.         android:icon="@drawable/ic_launcher"  
  10.         android:label="@string/app_name"  
  11.         android:theme="@style/AppTheme" >  
  12.         <activity android:name=".actions.Test1Activity">  
  13.             <intent-filter>  
  14.                 <action android:name="android.intent.action.MAIN"/>  
  15.                 <category android:name="android.intent.category.LAUNCHER"/>  
  16.             </intent-filter>  
  17.         </activity>  
  18.     </application>  
  19. </manifest>  

在虚拟机中运行的效果如下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值