Android:Ionic框架使用实例

Ionic学习

    ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。通过使用H5,JS,CSS构建接近原生体验的移动应用程序。

    ionic放弃对IOS6和Android4.1以下的版本的支持,提高应用程序的运行效率。

    Ionic官网地址:

    Ionic Framework - The Cross-Platform App Development Leader

Ionic的安装

在GitHub上下载,查看inoic的zip包:

    GitHub - ionic-team/ionic-framework: A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

使用命令行npm安装:

    npm install –g ionic

如果没有安装cordova,还需要使用npm安装cordova,ionic依赖cordova内核。

 Ionic页面样式,js使用CDN库地址:

<link href="https://cdn.staticfile.org/ionic/1.3.2/css/ionic.css" rel="stylesheet">

<script src="https://cdn.staticfile.org/ionic/1.3.2/js/ionic.bundle.min.js"></script>

    通过下载样式,js文件到本地:

    https://code.ionicframework.com/#

Ionic创建应用

命令行创建Ionic

    创建应用命令ionic start myApp tabs

    创建一个空活页夹,ionicApp,cd到创建活页夹执行创建应用命令。

    这里创建了一个ionic项目。

    创建一个Android应用:

    $ cd myApp

$ ionic cordova platform add android

$ ionic cordova build android

$ ionic cordova emulate android

使用命令行,创建ionic项目根据网络情况,非常耗时,而且容易出现预期以外的错误。

我们放弃这种方式。选择使用cordova创建项目,然后通过CDN使用ionic,创建移动应用程序。

Cordova+AS

使用Cordova创建项目,添加平台。使用AndroidStudio进行开发。在编辑html页面使用Ionic提供的UI组件,实现web应用。必要时,还可以使用Cordova提供插件,使用js访问设备底层提供功能。

创建Cordova项目

 使用Cordova创建应用:

    添加Android平台:

   

导入AndroidStudio  

使用AndroidStudio打开我们的Cordova项目。

    AndroidStudio选择Import project,选择:项目/platforms/android。

   

导入Ionic的js,css样式库

    在项目中assets目录下www活页夹下,将下载的CDN,js,css样式集合文件解压复制到这个活页夹下面。

    然后在html文件中,通过<link><script>标签引用。

<!--引入ionic框架,使用ionic组件--><link href="ionic-v1.3.3/css/ionic.css" rel="stylesheet"><script src="ionic-v1.3.3/js/ionic.bundle.min.js"></script>

   

    到此,AndroidStudio,Cordova下Ionic项目环境搭建完成。

实现一个Ionic APP

将新建初始的index.css,index.js,index.html文件内容清除,保留必须的结构。

创建侧边栏

侧边栏创建使用 ion-side-menus 控制器

index.html内容:

<!DOCTYPE html><html><head><meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"><meta name="format-detection" content="telephone=no"><meta name="msapplication-tap-highlight" content="no"><meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"><link rel="stylesheet" type="text/css" href="css/index.css"><!--引入ionic框架,使用ionic组件--><link href="ionic-v1.3.3/css/ionic.css" rel="stylesheet"><script src="ionic-v1.3.3/js/ionic.bundle.min.js"></script><title>Hello World</title></head><body ng-app="app"><!--创建侧边栏--><ion-side-menus><!--中心内容--><ion-side-menu-content><!--标题栏--><ion-header-bar class="bar-dark"><h1 class="title">Project Title</h1></ion-header-bar><!--内容栏--><ion-content></ion-content></ion-side-menu-content><!--侧边栏--><ion-side-menu side="left"><!----><ion-header-bar class="bar-dark"><h1 class="title">Menu</h1></ion-header-bar></ion-side-menu></ion-side-menus><script type="text/javascript" src="js/index.js"></script><script type="text/javascript" src="cordova.js"></script></body></html>

ion-side-menus: 是一个带有边栏菜单的容器,可以通过点击按钮或者滑动屏幕来展开菜单。

    ion-side-menu-content:展示主要内容的容器,可以通过滑动屏幕来展开menu。

    ion-side-menu:存放侧边栏的容器。

编辑js/index.js文件:

    angular.module("app",['ionic'])
我们应用页面变成这种样式。
 
主页添加内容
index.js中添加controller
.controller("appCtr",function($scope){$scope.tasks = [{title:"百度:www.baidu.com"},{title:"腾讯:www.tencent.com"},{title:"菜鸟驿站:www.runoob.com"},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2779138.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode:替换空行

有时从不同的编辑器拷贝过来的代码会有很多空行&#xff0c;可以通过以下办法进行删除&#xff1a; 1.按CtrlH弹出替换窗口 2.在查找输入框中输入&#xff1a;^\s*(?\r?$)\n 3.点击使用正则表达式 4.点击全部替换

卫星通讯领域FPGA关注技术:算法和图像方面(4)

最近关注的公众号提到了从事移动通信、卫星通讯等领域的FPGA、ASIC、信号处理算法等工程师可能需要关注的技术&#xff0c;有5G NTN、多址技术、低轨通信卫星LEO&#xff0c;以下做了一些基础的调研&#xff1a; 1 5G NTN 来自《5G NTN技术白皮书&#xff1a;天地一体、手机直…

vs用msys2编译安装 gmp

1 下载 1.1下载MSYS2工具 MSYS2 1.2 下载gmp The GNU MP Bignum Library 2 使用windows的msys2命令窗口,有三个msys2命名窗口 mingw64 3 4 命令 pacman -Syu 重启&#xff1a; pacman -Su 安装&#xff1a; pacman -S mingw-w64-x86_64-gcc pacman -S mingw-w64-x86_64-make…

软件价值12-射箭游戏

射箭游戏&#xff0c;按空格键发射&#xff0c;打击移动靶&#xff0c;左上角显示成绩状态。 代码&#xff1a; import pygame import sys import random# 初始化Pygame pygame.init()# 设置窗口大小 SCREEN_WIDTH 800 SCREEN_HEIGHT 600 screen pygame.display.set_mode((…

Linux文本三剑客(2)

文章目录 一、Linux文本三剑客之awk使用方法awk 的原理实例一&#xff1a;只查看test.txt文件&#xff08;100行&#xff09;内第20到第30行的内容&#xff08;企业面试&#xff09;实例二&#xff1a;已知test.txt文件内容为 BEGIN 和 END 模块实例一&#xff1a;统计/etc/pas…

直播app开发,技术驱动的实时互动新纪元

随着互联网技术的快速发展&#xff0c;直播已成为我们日常生活的重要组成部分。从娱乐、教育到商业活动&#xff0c;直播的广泛应用正在改变着我们的生活和工作方式。在这一变革中&#xff0c;直播开发扮演着至关重要的角色。本文将探讨直播开发的核心理念、技术挑战以及未来的…

零售行业供应商数据分发,怎样提高安全性和效率?

零售行业是我国经济发展的重要组成&#xff0c;零售行业包罗万象&#xff0c;如包括汽车零售、日化零售、快消品零售等&#xff0c;不同细分行业的运营模式各不相同&#xff0c;但大体来说&#xff0c;零售行业都具备最基础的供应商和零售商&#xff0c;供应商将商品或服务卖给…

C++学习Day04之单例模式

目录 一、程序及输出1.1 饿汉式实例1.2 饿汉式单例1.3 懒汉式单例1.4 线程安全的懒汉式单例 二、分析与总结 一、程序及输出 1.1 饿汉式实例 #include<iostream> using namespace std; #include <string> class Printer { public:static Printer * getInstance()…

flinkcdc 3.0 源码学习之任务提交脚本flink-cdc.sh

大道至简,用简单的话来描述复杂的事,我是Antgeek,欢迎阅读. 在flink 3.0版本中,我们仅通过一个简单yaml文件就可以配置出一个复杂的数据同步任务, 然后再来一句 bash bin/flink-cdc.sh mysql-to-doris.yaml 就可以将任务提交, 本文就是来探索一下这个shell脚本,主要是研究如何通…

116.乐理基础-五线谱-音值组合法(一)

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;115.乐理基础-五线谱-五线谱的练习方式-CSDN博客 音值组合法有点鸡肋&#xff0c;有两个原因 1. 它的本质只是为了让乐谱里的音符&#xff0c;在外观上组合得更加方便我们去看谱&#xff0c;并不涉及到什么很重要很…

开源版发卡小程序源码,云盘发卡微信小程序源码带PC端

一款发卡小程序。带PC端 系统微信小程序前端采用nuiapp 后端采用think PHP6 PC前端采用vue开发 使用HBuilderX工具打开&#xff0c;运行到微信小程序工具&#xff0c;系统会自动打包微信小程序代码 修改文件common/request/request.js 改成你的后端网址 微信小程序端完全…

猫头虎分享已解决Bug || Docker Error: Request Canceled While Waiting for Connection

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Java图形化界面编程——弹球游戏 笔记

Java也可用于开发一些动画。所谓动画&#xff0c;就是间隔一定的时间(通常小于0 . 1秒 )重新绘制新的图像&#xff0c;两次绘制的图像之间差异较小&#xff0c;肉眼看起来就成了所谓的动画 。 ​ 为了实现间隔一定的时间就重新调用组件的 repaint()方法&#xff0c;可以借助于…

怎么用postman调用webservice(反推SoapUI)

<soapenv:Envelope xmlns:soapenv“http://schemas.xmlsoap.org/soap/envelope/” xmlns:lis“LisDataTrasen”> soapenv:Header/ soapenv:Body lis:Test lis:test111111111</lis:test> </lis:Test> </soapenv:Body> </soapenv:Envelope> Conten…

Netty应用(四) 之 Reactor模型 零拷贝

目录 6.Reactor模型 6.1 单线程Reactor 6.2 主从多线程Reactor (主--->Boss | 从--->Worker | 一主多从机制) 7.扩展与补充 8.Reactor模型的实现 8.1 多线程Reactor模型的实现&#xff08;一个Boss线程&#xff0c;一个Worker线程&#xff09; 8.2 多线程Reactor模…

智能时代:创新创业的新机遇与挑战

智能时代为创新创业提供了广阔的空间和无限的可能性。以下是一些可能适合智能时代背景的创新创业方向&#xff1a; 人工智能技术应用&#xff1a;人工智能技术是当前科技领域最热门的技术之一&#xff0c;其应用范围不断扩大。创业者可以将人工智能技术应用于各个领域&#xf…

vue-生命周期+工程化开发(三)

生命周期 Vue 生命周期 和 生命周期的四个阶段 思考&#xff1a; 什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09;什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a;一个Vue实例从 创建…

OnlyOffice-8.0版本深度测评

OnlyOffice 是一套全面的开源办公协作软件&#xff0c;不断演进的 OnlyOffice 8.0 版本为用户带来了一系列引人瞩目的新特性和功能改进。OnlyOffice 8.0 版本在功能丰富性、安全性和用户友好性上都有显著提升&#xff0c;为用户提供了更为强大、便捷和安全的文档处理和协作环境…

C#,最大公共子序列(LCS,Longest Common Subsequences)的算法与源代码

1 最大公共子序列 最长的常见子序列问题是寻找两个给定字符串中存在的最长序列。 最大公共子序列算法&#xff0c;常用于犯罪鉴定、亲子鉴定等等的 DNA 比对。 1.1 子序列 让我们考虑一个序列S<s1&#xff0c;s2&#xff0c;s3&#xff0c;s4&#xff0c;…&#xff0c;…

node.js+vue企业人事自动化办公oa系统c288a

采用B/S模式架构系统&#xff0c;开发简单&#xff0c;只需要连接网络即可登录本系统&#xff0c;不需要安装任何客户端。开发工具采用VSCode&#xff0c;前端采用VueElementUI&#xff0c;后端采用Node.js&#xff0c;数据库采用MySQL。 涉及的技术栈 1&#xff09; 前台页面…