• PhoneGap 在eclipse上开发Android程序


    本文将记录在Eclipes上开发Android App,在使用的方法是Hybrid App(混合模式移动应用)

    由于本人的工作需要,将要开发在车间使用的数据录入程序,但是其中有非常多的逻辑验证和判断,画面中的内容多,需要开发的画面数量也多,

    需要在目标日期内上线是比较困难的。

    因为本人对C#和ASP.NET比较熟悉的,所以今天就先尝试混合模式移动应用的开发,在此做个笔记。

     

    首先,还是要感谢网上的教程和资源的:

    教程:http://www.adobe.com/devnet/archive/html5/articles/getting-started-with-phonegap-in-eclipse-for-android.html

    PhoneGap包:

    (1)2.9.0版:http://download.csdn.net/detail/u011788813/6294279

    (2)2.1.0版:http://download.csdn.net/detail/czp1001/4922446

     

    PhoneGap的背景可以去百度了解,现在来说,PhoneGap已经不是流行了,主流是Cordova。

    2.9.0版本是最后一个可以使用导入第三方包方法的版本,后续的版本要通过控制台创建android项目了。

    下文主要先发图进行说明,然后会贴上代码。

     

    下面开始说明:

    前提是Eclipse已经安装,并且可以顺利开发安卓应用。(可以参考之前本人的其他文章)

    1、新建Android项目:

    2、项目的参数:

    由于HelloGap的App已经创建了,所以图中会有红叉,正常是不会报错的。

    3、PhoneGap包解压后的文件~phonegap-phonegap-26d211blibandroid

    这三个是本次主要使用的文件。

    4、项目的目录:

    5、MainActivity.java的代码

    6、index.html

    7、AndroidManifest.xml中的参数设定

     

    完成!调试运行。

    运行效果:

    代码:

    MainActivity.java

     1 package com.test.hellogap;
     2 
     3 import android.os.Bundle;
     4 import org.apache.cordova.*;
     5 
     6 public class MainActivity extends DroidGap {
     7 
     8     @Override
     9     public void onCreate(Bundle savedInstanceState) {
    10         super.onCreate(savedInstanceState);
    11         super.loadUrl("file:///android_asset/www/index.html");
    12     }
    13 }

    index.html

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>PhoneGap</title>
     6 <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
     7 </head>
     8 <body>
     9     <div>
    10         <h1>标题:</h1>
    11     </div>
    12     <div>
    13         <p>正文</p>
    14     </div>
    15 </body>
    16 </html>

    AndroidManifest.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     3     package="com.test.hellogap"
     4     android:versionCode="1"
     5     android:versionName="1.0" >
     6     
     7     <supports-screens
     8         android:anyDensity="true"
     9         android:largeScreens="true"
    10         android:normalScreens="true"
    11         android:resizeable="true"
    12         android:smallScreens="true"
    13         android:xlargeScreens="true" />
    14     
    15     <uses-permission android:name="android.permission.CAMERA" />
    16     <uses-permission android:name="android.permission.VIBRATE" />
    17     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    18     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    19     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    20     <uses-permission android:name="android.permission.INTERNET" />
    21     <uses-permission android:name="android.permission.RECEIVE_SMS" />
    22     <uses-permission android:name="android.permission.RECORD_AUDIO" />
    23     <uses-permission android:name="android.permission.RECORD_VIDEO" />
    24     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    25     <uses-permission android:name="android.permission.READ_CONTACTS" />
    26     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    27     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    28     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    29     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    30     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    31 
    32     <uses-sdk
    33         android:minSdkVersion="14"
    34         android:targetSdkVersion="21" />
    35 
    36     <application
    37         android:icon="@drawable/ic_launcher"
    38         android:label="@string/app_name"
    39         android:theme="@style/AppTheme" >
    40         <activity
    41             android:name=".MainActivity"
    42             android:configChanges="orientation|keyboardHidden"
    43             android:label="@string/app_name" >
    44             <intent-filter>
    45                 <action android:name="android.intent.action.MAIN" />
    46                 <category android:name="android.intent.category.LAUNCHER" />
    47             </intent-filter>
    48         </activity>
    49     </application>
    50 
    51 </manifest>

    完成以上的项目后,本人尝试了使用JQuery的ajax,通过handler获取响应数据,完全没有问题。估计是因为这个App根本就是个网页吧,工作原理不太懂。

    欢迎交流!

  • 相关阅读:
    2008年秋季毕业设计总体安排
    2008秋季计算机软件基础0903课堂用例(1)
    收藏:微软新技术不断,开发者如何面对?
    2008秋季计算机软件基础0901课堂用例
    2008秋季计算机软件基础0908课堂用例(1)
    WebBrows仿造Cookie
    ScriptCase价格调整通知
    JavaMail API简介
    Spring攻略学习笔记(3.05)重用切入点定义
    verletjs:超酷的开源JavaScript物理引擎
  • 原文地址:https://www.cnblogs.com/chenyucong/p/5807092.html
Copyright © 2020-2023  润新知