1.安装Android开发环境
    Android开发环境的安装,现在主要是由于不能访问谷歌站点,在windows下在host文件中添加一个对应的74.125.195.190 dl-ssl.google.com,dl-ssl.google.com对应的ip可能改变。用的时候搜索最新的IP地址就行了。
   然后用eclipse或者myeclipse更新站点信息:https://dl-ssl.google.com/android/eclipse
   具体教程网上很多,我比较喜欢的是:http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html
2.安装cordova
   cordova是一个实现JavaScript和后台通信(Android的Java)的框架,通过相应的cordova插件,提供给Web前端调用移动平台底层功能API的能力。
   cordova通过WebChromeClient拦截js的prompt的内容来实现前端js对后端程序功能的调用。
   在最开始的时候,我只是下载了cordova的源码,把相关java类(喜欢只加入源java类,没有打成jar包,便于修改)和js加入android工程,但是需要一些系统插件时,会很难处理,只好重新安装cordova。
  1).安装node.js,去官网上下载安装后,把安装路径加入path
  2).安装npm,如果是最新的node.js已经带了npm了不用安装,否则就要安装一下
  3)安装cordova,这里一定要注意你的android sdk版本,查看一下是多少,应为默认安装最新的版本,而最新的版本需要的sdk版本很高,加入的cordova的java源代码需要的类有很大不同。
      a).安装cordova
            npm install -g cordova@3.6.0-0.2
      b).创建一个cordova工程
            cordova create hello com.example.hello HelloWorld
      c).添加android平台
           进入hello工程目录
           cordova platform add android
      d).将相关内容加入myeclipse
            hello\platforms\android\CordovaLib的java源类加入src中
            hello\platforms\android\assets\www中内容加入assets/www中
            hello\platforms\android\res\xml\config.xml中内容加入res/xml中
      e).编写MainActivity
          public class MainActivity extends CordovaActivity {

@Override

               public void onCreate(Bundle savedInstanceState) {

                    super.onCreate(savedInstanceState);
                    super.loadUrl("file:///android_asset/www/index.html");
                }
         }
        f).授权
             <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-permission android:name="android.permission.SEND_SMS" />
        g).启动程序,就能看见cordova主页面了
3.JQuery Mobile
        JQuery Mobile是专门为移动平台创建一组UI框架。
        特别注意的是,JQuery Mobile是用Ajax的方式加载所有HTML中的标记data-role="page"的DIV元素中,第一个HTML页面一般都是完全加载,包括 HEAD 和BODY 都会被加载到DOM中,完成后便是链接到的其他页面内容的加载。 第二个HTML页面只有 BODY 中的内容会被以Ajax的方式加载到头一个HTML的 DOM中。 并且第二HTML页面的 BODY 中的内容也并非全部加载,而仅仅是其中的第一个带data-role="page"属性的DIV会被加载进去,其余的东西则无缘进入页面渲染
        a).下载JQuery Mobile
        b).将css、js、images装入android工程
4.第一个演示项目
5.自定义插件
    下面这个插件实现通过一个按钮结束应用程序。
    1).插件定义
        public class ExitPlugin extends CordovaPlugin{
            private static final String EXIT = "exit";
            @Override 
            public boolean execute(String action, JSONArray args, CallbackContext callbackContext) { 
                if (EXIT.equals(action)) { 
                    System.exit(0); 
                } 
                return true;
            } 
    }
    2).xml配置
         <feature name="Exit">
              <param name="android-package" value="com.tomsnail.webtest.ExitPlugin"/>
         </feature>
    3).js定义
        var Exit = {
            exitSystem: function(){
                     cordova.exec(function(data){ }, function(e){}, "Exit", "exit", [""]);
            }
        }; 
    4).js调用
        function exitSystem(){
            Exit.exitSystem();
        }
        <a href="javascript:exitSystem();" class="ui-btn">退出</a>

JQuery Mobile+cordova构建一个Android项目的更多相关文章

  1. 用Kotlin创建第一个Android项目(KAD 01)

    原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...

  2. 【Android Developers Training】 1. 创建一个Android项目工程

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. 【Android开发】创建你的第一个Android项目

    原文:http://android.eoe.cn/topic/summary 本文中你将了解到: 1. 使用Eclipse创建项目 2. 使用命令行创建项目 你还应该阅读: 1. 安装SDK(官网页面 ...

  4. [Android开发教程]Android官网developer training中文版教程 - 1.1.1 创建一个Android项目

    本系列持续更新中.转载请注明来源. 前言:近期打算系统学习一下Android开发,发现Android官网上的developer training也是个非常好的学习资料,于是想到一边学习一边写一个中文版 ...

  5. 从0系统学Android--1.3创建你的第一个 Android 项目

    1.3 创建你的第一个 Android 项目 环境搭建完成后,我们就可以写下我们的第一个项目了. 1.3.1 创建 HelloWorld 项目 在 Android Studio 的欢迎页面点击 Sta ...

  6. 创建第一个Android项目

    目录 创建第一个Android项目 创建HelloWorld项目 选择模板 选择模板界面的英文翻译 配置项目 配置项目界面英文翻译及解释 配置项目界面的注意事项 Name的命名规范 Package n ...

  7. 3.创建第一个android项目

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 3.创建第一个android项目 1.打开Eclipse,选择File——>new——>others.. ...

  8. Eclipse的maven构建一个web项目,以构建SpringMVC项目为例

    http://www.cnblogs.com/javaTest/archive/2012/04/28/2589574.html springmvc demo实例教程源代码下载:http://zuida ...

  9. Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)

    一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...

随机推荐

  1. 你的JVM还好吗?GC初步诊断

    你的JVM还好吗?GC初步诊断   阿飞的博客   JVM的GC机制绝对是很多程序员的福音,它让Java程序员省去了自己回收垃圾的烦恼.从而可以把大部分时间专注业务身上,大大提高了业务开发速度,让产品 ...

  2. shell 获取当前svn代码目录版本号

    在当前svn代码目录下执行以下命令: svn info | grep "Last Changed Rev:" | awk -F ': ' '{print $2}' > svn ...

  3. 【Unity 3D】学习笔记三十:游戏元素——游戏地形

    游戏地形 在游戏的世界中,必然会有非常多丰富多彩的游戏元素融合当中. 它们种类繁多.作用也不大同样.一般对于游戏元素可分为两种:经经常使用.不经经常使用.经常使用的元素是游戏中比較重要的元素.一般须要 ...

  4. 2015年多校联合训练第一场OO’s Sequence(hdu5288)

    题意:给定一个长度为n的序列,规定f(l,r)是对于l,r范围内的某个数字a[i],都不能找到一个相应的j使得a[i]%a[j]=0.那么l,r内有多少个i,f(l,r)就是几. 问全部f(l,r)的 ...

  5. Java&amp;Xml教程(十)XML作为属性文件使用

    我们一般会将Java应用的配置參数保存在属性文件里.Java应用的属性文件能够是一个正常的基于key-value对,以properties为扩展名的文件.也能够是XML文件. 在本案例中.將会向大家介 ...

  6. DIV+CSS一些小小的技巧

    DIV+CSS网页布局技巧实例1:设置网页整体居中的代码 以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用DIV+CSS样式表控制,好像不是那么容易了,其实 ...

  7. vs2013 solution文件解析

    1 定义一个project Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "render", &quo ...

  8. shell实现mysql热备份

    #!/bin/bash #my.hc.sh PATH=/usr/local/sbin:/usr/bin:/bin BACKDIR = /backup/mysql ROOTPASS = ******** ...

  9. 【题解】[JSOI2008]最大数

    [题解][P1198 JSOI2008]最大数 正难则反,意想不到. 这道题是动态让你维护一个数列,已经在数列里面的数据不做改变,每次在最后加上一个数,强制在线. 既然正着做很难,考虑如果时间倒流,不 ...

  10. JavaScript 四种显示数据方式

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...