H5-3.01webapp与jquerymobile

一. 原生App和WebApp的比较

  1. 原生(Native)App指:

    iOS: Object-C swift
    Android: java

  2. webApp指

    使用HTML5编写的移动Web应用,一个webapp几乎可以不加修改的运行在PC/Android/iOS等。

    优势:一套代码到处运行
    劣势:某些底层功能缺失,运行速度不如原生的App

二. 使用eclipse创建安卓应用并安装到手机

1. 前提

    1)保证“我的电脑”中可以看到我的手机
    2)在安卓系统-》设置-》开发者选项-》启用USB调试

2. Android开发环境的搭建

    1) 下载并安装java程序的运行环境-JDK
   
           保证在命令行中输入java.exe可以运行

    2)下载并解压缩Android应用的开发环境-ADT(AndroidDeveloperTools)

    3) 启动ADT: eclipse/eclipse.exe

    4) 创建Android应用程序(创建应用时选择API19),选择自定义图标,定制窗口中的内容,安装到手机

3. Android应用何设置一个全屏显示的窗口

     修改项目清单文件 AndroidManifest.xml

      <application android:theme="@android:style/Theme.NoTitleBar.FullScreen">

三. 把HTML5应用打包到Android手机中,创建一个HyBridApp,

 1. 混合app,像原生app一样有图标,点开后呈现一个原生app的窗口(成为activity);
     此窗口中只有一个组件-一个浏览器内核(没有地址栏),可以限定此浏览器内核只显示特定的网页


 2. 创建webView组件-用于显示网页内容(即浏览器的核心)

     //创建浏览器核心对象
     WebView wv = new WebView(this);
     //窗体中体检webview组件
     this.setContentView(wv);

     注意: 只留一个oncreate方法,其他都删掉

 3. 使用webView加载APK文件中打包好的本地网页

      //出于安全考虑,webview默认禁用了js,必须要启用
      wv.getSettings().setJavaScriptEnabled(true);
    //加载本地的html文件
      wv.loadUrl("file:///android_asset/hybrid.html");

      所有的HTML/css/js都必须保存Android项目的assets目录下
     

  4. 使用webview加载web服务器上的网页

       //获取到网络使用权限
       <uses-permission android:name="android.permission.INTERNET"/>
       wv.loadUrl("http:www.baidu.com");

在这说一下,使用eclipse会存在一个读取本地文件数据的跨域问题,在eclipse里面比较难解决,所以最好还是放在本地服务器上面,使用ip地址访问跨域解决,另外还推荐一种,使用hbuilder打包app,可以省一点事,会帮你解决跨域的问题。
四. 框架整理

1. jQuery是一个js函数库,简化了DOM操作,本质与DOM相同 

2. jQueryUI是一个HTML组件库,丰富了HTML功能

3. BootStrap是一个HTML/CSS/JS框架,简化了响应式网页的编写,提供了CSSReset+HTML组件

4. Google AngularJS是一个JS框架,改变了网页的编写方式,适用于以数据操作为主的SPA应用

5. jQueryMobile是一个HTML组件库,适用于App的开发

五. jQueryMobile

1.  jQuery Mobile is a HTML5-based user interface system designed to make responsive web sites and apps that are accessible on all smartphone, tablet and desktop devices.

2. JQM主要分为四部分:
   
     页面&导航
     CSS框架
     组件
     表单控件


3 使用JQM的步骤
    
  1) 项目中引入jquery1.8+版本

  2)  项目创建jqm目录,引入jqm必需资源文件

        jquery-mobile.css
        jquery-mobile.js
        images/...

  3)  创建html文件,引入必需的css和js,并设置viewport

         <meta name="viewport" content="width=device-width,initial-scale=1>

  4) body中data-role="page"元素

    注意:  jqm的html文件中,body中必须至少有一个page,若用户未提供,jqm自动添加

            body中可以声明多个page,但默认只有第一个可以显示

            jqm中的所有的网页内容不能直接至于body中,必须至于page中

            jqm中的所有样式都是通过预定义class来设置的,开发者可以指定元素的class,也可以为元素指定data-*扩展属性来实现让jqm添加class的功能

一. JQueryMobile

1.  jQuery Mobile is a HTML5-based user interface system designed to make responsive web sites and apps that are accessible on all smartphone, tablet and desktop devices.

2. JQM主要分为四部分:
   
     页面&导航
     CSS框架
     组件
     表单控件

3 使用JQM的步骤
    
  1) 项目中引入jquery1.8+版本

  2)  项目创建jqm目录,引入jqm必需资源文件

        jquery-mobile.css
        jquery-mobile.js
        images/...

  3)  创建html文件,引入必需的css和js,并设置viewport

         <meta name="viewport" content="width=device-width,initial-scale=1>

  4) body中data-role="page"元素

    注意:  jqm的html文件中,body中必须至少有一个page,若用户未提供,jqm自动添加

            body中可以声明多个page,但默认只有第一个可以显示

            jqm中的所有的网页内容不能直接至于body中,必须至于page中

            jqm中的所有样式都是通过预定义class来设置的,开发者可以指定元素的class,也可以为元素指定data-*扩展属性来实现让jqm添加class的功能

二. jqueryMobile-page跳转及过场动画

  1. 页面跳转可以使用a/button/input等,推荐使用a-会自动添加过场动画

  2. 可以跳转到外部的完整HTML页面;也可以跳转到当前HTML中的另一个page,如

 1)跳转到外部完整的HTML页面

   <a href="xx.html">

 2)跳转到当前HTML中的另一个page

   <a href="#pageID">

 3) 已模态框形式打开另一个page

    <a href="#pageID" data-rel="dialog">
  1. JQM为页面切换添加了非常丰富的过渡动画,使用方法

    <a href="目标页面" data-transition="动画效果名称">

    可用的动画效果有:

    fade:默认动画
    pop:弹出动画
    slide:滑动动画
    slideup:向上滑动动画
    trun:翻转动画
    flip:翻转动画
    flow:流动动画
    none:无动画

三. jqueryMobile-按钮

  1. 可以使用A.button.input元素实现按钮的样式

  2. 可以使用data-role="button"属性实现按钮样式,也可以指定class实现按钮的样式,如ui-btn ui-corner-all ui-shadow

  3. 按钮默认是块级显示,可以使用ui-btn-inline实现行内按钮

  4. 按钮上可以有文字和图标,若存在图标,必须指定与文字的位置关系,可选值
    btn-icon-left
    btn-icon-right
    btn-icon-bottom
    btn-icon-top

设置纯图标的话,不能在设置图片的位置

创建带图标的按钮,图标功能:后退,前进,刷新,配置,用户,定位,主页,对勾....
  1. 按钮可以放到page的header里
 header中的第一个按钮默认处于左侧,第二个按钮处于右侧,一般只放两个
 
 <div data-role="header">

   <a href="#">按钮</a> 默认就是按钮效果

 </div>

四. jqueryMobile-导航条

  1. 基本结构

      <div data-role="navbar">
        <ul>
          <li><a href="#"></a>

        </ul>

      </div>

  2. 注意

      导航条中一般最多只能有五个项目,超过5个会在一行中显示2个

      导航条可以出现在page的Header/Main/Footer

      处于Header和Footer中的navbar默认会占满整行,并和标题字错开

五. jqueryMobile-load加载器

  显示加载器: $.mobile.loading("show");

  取消加载器:$.mobile.loading("hidden");

六. jqueryMobile-panel(面板)

  1) 面板在目前版本的jqp中只能放在page中,header之前和footer之后

     <div data-role="page">

          <div data-role="panel" id="p1"></div>

          <div data-role="header"></div>

          <div data-role="body">

              <a href="#面板ID">打开面板</a>

          </div>

          <div data-role="footer"></div>

          <div data-role="panel" id="p1"></div>

     </div>

  2) 面板组件可以指定出现位置和打开方式

     data-position="left/right"

     data-display = "reveal/overlay/push"


      <div data-role="collapsible">
        <h3>标题字</h3>
        <div>折叠的内容</div>
      </div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,666评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 《冬》 一部关于老人、屋子、山、鱼、鸟和一个孩子的悲伤故事。 简单概括起来,就是几十个字:白雪皑皑,凛冽寒...
    肆維阅读 570评论 0 0
  • 1960 年代,随着日本战后工业经济的全面复苏,日本的相机制造业迎来了一个巅峰期,摆脱了以德系相机为蓝本进行仿制的...
    LikeAKid阅读 872评论 0 1
  • 记得初恋是高一,懵懵懂懂,容易冲动容易疯狂。不顾老师的冷嘲热讽,不顾爸妈的批评反对,依然坚持在一起,那时我以为我坚...
    不会说话的吴小姐阅读 217评论 0 0