ionic 调用原生代码写的代码可以转到phonegap里吗

实践分享:开始用Cordova+Ionic+AngularJS开发App
招聘信息:
本文是一篇关于我本人在使用Cordova+Ionic以及AngularJS开发移动App的过程中的经验的总结,它不是一篇基础入门教程,而是和大家探讨一下关于如何更好的使用这些技术开发一个更好的App。声明:这是一篇中立的文章,我无意于挑起孰好孰坏的争论,这只是一篇经验分享文,至于为什么选择这种技术,因为我会这个,感觉还不错。Cordova、Ionic、AngularJS都是什么?CordovaCordova是一款开放源代码的App开发框架,旨在让开发者使用HTML、Javascript、CSS等WebAPIs开发跨平台的移动平台应用程序,其原名称之为PhoneGap,Adobe收购Nitobi公司后,PhoneGap商标保留,代码贡献给了Apache基金会,而Apache将其命名为ApacheCallback,其后发布新版本时,定名为ApacheCordova。Cordova是一个行动设备的API接口集,利用JavaScript存取这些接口可以调用诸如摄影机、罗盘等硬件系统资源。配合上一些基于HTML5、CSS3技术的UI框架,如jQueryMobile、DojoMobile或SenchaTouch,开发者得以快速地开发跨平台App而不需要编写任何的原生代码。注意到因为Cordova本身仍是一个原生程式,为App打包时依然需要用到这些系统平台的SDK。本文将结合Ionic前端框架进行开发。IonicIonic是一个新的、可以使用HTML5构建混合移动应用的用户界面框架,它自称为是“本地与HTML5的结合”。该框架提供了很多基本的移动用户界面范例,例如像列表(lists)、标签页栏(tabbars)和触发开关(toggleswitches)这样的简单条目。它还提供了更加复杂的可视化布局示例,例如在下面显示内容的滑出式菜单。Ionic宣称他们极度强调性能,并且通过限制DOM交互、完全移除jQuery以及使用像translate(z)这种特定的硬件加速的CSS滤镜触发移动设备上GPU——与由动力不足的移动浏览器提供的交互相比这种方式提供了硬件加速的交互——等方式使速度最大化。AngularJSAngularJS是建立在这样的信念上的:即声明式编程应该用于构建用户界面以及编写软件构建,而指令式编程非常适合来表示业务逻辑。[1]框架采用并扩展了传统HTML,通过双向的数据绑定来适应动态内容,双向的数据绑定允许模型和视图之间的自动同步。因此,AngularJS使得对DOM的操作不再重要并提升了可测试性。设计目标:将应用逻辑与对DOM的操作解耦。这会提高代码的可测试性。将应用程序的测试看的跟应用程序的编写一样重要。代码的构成方式对测试的难度有巨大的影响。将应用程序的客户端与服务器端解耦。这允许客户端和服务器端的开发可以齐头并进,并且让双方的复用成为可能。指导开发者完成构建应用程序的整个历程:从用户界面的设计,到编写业务逻辑,再到测试。Angular遵循软件工程的MVC模式,并鼓励展现,数据,和逻辑组件之间的松耦合。通过依赖注入(dependencyinjection),Angular为客户端的Web应用带来了传统服务端的服务,例如独立于视图的控制。因此,后端减少了许多负担,产生了更轻的Web应用。开发环境我所使用的开发环境包括下面这些:工作站:一台13寸的MacBookProRetina+iPadMini使用Mac开发前端有很多优势,对于我来讲,最大的优势就在于我还是一个Linux用户,很多的Linux习惯在Windows下面总是会有一些不适应,再者,OSX的系统稳定性以及各种各样优秀的App,也让它一直都成为我的工作利器。我没有像很多牛逼的大神们购买多块屏幕,我只有一台iPadMini,然后还有一个叫作Duet的App,它可以让我把iPad作为我的Mac的第二块屏幕,一般不需要,但是它真的能提高我的工作效率,而且可以直接使用到iPad的触摸屏,这对于移动开发来讲,很好。我还有一台Lenovo的Yoga3,装了Ubuntu,不过很少用,显示有点儿别扭,但是,比起其它的PC机,这台还是很不错了,大家也可以试试。开发工具以前是Notepad++的忠实用户,然后还有Coda、TextMate、BBEdit、SublimeText等等的,现在用的(而且可能以后会一直使用的)——WebStorm。
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量6647点击量5951点击量4818点击量4545点击量3287点击量3070点击量2796点击量2554点击量2519
&2016 Chukong Technologies,Inc.
京公网安备89ionic + AngularJS + PhoneGap 如何实现手机端支付? - 知乎69被浏览6024分享邀请回答/TongChia/cordova-plugin-pingpp0添加评论分享收藏感谢收起  声明:这只是我个人做demo时使用phonegap编译Android版本的的apk,至于iPhone,由于需要购买苹果开发者证书,$99。所以我就没有尝试了人民币得600多块钱呀,还是有点不舍得,哈哈哈哈。
  ,英文好的可以看一看。我主要说说在ionic项目的基础上做了哪些改变,参考的文档。
怎样上传自己的ionic项目
  首先在上注册一个账号,然后进入,点击+new app按钮可以看到这样的界面:
  很清晰的展示出了上传ionic项目有两种方法:
1.使用一个.zip文件
  上传到phonegap不需要将项目中的plugins & scss 等这些目录文件上传,只需要上传html、js、css这些内容即可。在ionic项目中也就是项目目录下的www文件夹所有内容。
  另外还需要一个config.xml文件,这个文件需要和www文件夹下的index.html文件在同一级别。所以你需要在www文件夹下面创建一个config.xml文件,也可以复制ionic项目下的config.xml文件到www目录下,然后再稍作改变即可。主要有一下几处改变:
  第一处改变:
  将复制到www文件夹下的config.xml文件中的这一段代码  
www/config.xml
&widget id="com.ionicframework.iontabsxxxxx" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"&
  变成这样
&widget id
= "com.ionicframework.iontabsxxxxx"
= "http://www.w3.org/ns/widgets"
= "/ns/1.0"
versionCode = "1"&
  id,version,xmlns这三个属性没有任何改变,xmlns:cdv属性冒号后的cdv变成gap,即xmlns:gap。xmlns:cdv的值 域名变成phonegap,即"/ns/1.0"
  第二处改变:
  将项目中用到的插件配置到config.xml文件中。
  插件只能是来自phonegap仓库或者npm。
  在config.xml中添加&&plugin&&标签或者是不推荐使用的&gap:plugin&&标签。
  &&plugin&&标签有四个属性:
    name:反域名格式的插件id名。(ex: com.phonegap.plugins.barcodescanner).
    spec:可选。指定插件的版本号,官网强烈推荐加上这个属性。如果不加,phonegap编译的时候将使用最新版的插件,编译的时候有可能造成版本不一样的兼容问题
    source:可选。插件的来源,有两个值&"pgb" or "npm"。默认是"npm"
    params:插件可能需要的参数配置,例如:
&plugin name="com.phonegap.plugins.example"&
&param name="APIKey" value="" /&
&param name="APISecret" value="" /&
  上面其他三个属性像这样:
 &plugin name="com.ionic.keyboard" spec="1.0.3" source="pgb" /&
&plugin name="cordova-plugin-console" spec="1.0.1" /&
&plugin name="cordova-plugin-device" spec="1.0.1" /&
  这只是我的项目中用的几个插件,你需要将你项目中用到的插件都配置到这个文件中。项目中使用的插件在项目根目录下的plugins目录下面
  第三处改变:
  配置文件中配置的有平台需要的icon和splash,ionic项目开始是配置好了的,上传到phonegap需要把项目根目录下面的resources复制到www目录下面。
  这样压缩www目录为www.zip文件即可上传到phonegap。
2.使用github仓库
  用这个方法需要你有github的账号,并且第一种方法配置好的www上传到github仓库。然后填好你自己的github仓库即可
转载请注明原文出处:
阅读(...) 评论()使用ionic+angular+phonegap开发APP入门 - CSDN博客
使用ionic+angular+phonegap开发APP入门
有时候朋友问我是做什么的?我说以前是用PHP写后台,最近是用H5写前台APP(俗称的Hybrid App);&
在公司做了几个H5的项目之后,有时候也想抽空研究下H5写一些APP;总觉得写APP的开发更加有底气。尽管我偶尔有空也会研究下android,swift(Objective-C实在是难懂,没兴趣深入研究),也希望H5能开发一些不错的APP;&
国内有包括APPCan等公司慢慢在发力,是很不错的趋势;由于mac上面无法使用APPCAN,所以我就没继续研究了,就看国外是怎么的一个过程;偶尔的机会发现了有人用ionic+angularjs+phonegap,很不错的尝试;于是我也想摸索下;
结论:使用上述的方法开发app,是可行的,至少我再android+IOS上面打包是成功了,体验还可以,开发比较方便,基于一些现成的组件;能在1~2天开发一个简单的demo;效率比较高,不过你需要对angularjs有一定的熟悉和了解;H5也一样;所以我也是慢慢学习慢慢研究;
入门必须:&
(1) 看一遍ionic的文档,&;&
Ionic 是一个用HTML, CSS 跟JS 开发的一个用于移动设备的web app 开发框架,采用 Sass与AngularJS 开发。
(2) 看一遍phonegap的文档;目前phonegap又取名为cordova;有些常用的命令总结如下:
项目例子:http://my.oschina.net/nosand/blog/294011&
Create hybrid mobile apps with the web technologies you love.&
Free and open source, Ionic offers a library of mobile-optimized HTML,&
CSS and JS components, gestures, and tools for building highly interactive apps.&
Built with Sass and optimized for AngularJS.
Qunee有一个上海地铁图的例子,有客户希望转成mobile app,考察过android的webview,以及PhoneGap等多种Hybrid App方案后,最后选择使用ionic,准确的说是ionic + PhoneGap + Qunee ionic是一种基于HTML5创建Hybrid应用的前端框架,借助phoneGap + angularJS实现一套跨平台,轻量的移动UI方案,本文将介绍借助ionic实现移动版Qunee上海地图的示例&
安装ionic所需软件环境 – java, android sdk等
ionic实际上是集大成者,借助了多种技术,自身是一套UI框架,结合PhoneGap实现跨平台移动APP,需要先安装好依赖的程序,比如nodejs, java, ADT, ant, xcode等,并设置好java_home, 添加android sdk tool到环境变量
mac os x下安装ant
brew update&
brew install ant&
#mac osx 下,打开.bash_profile文件&
open&.bash_profile&
#设置相关的Path,mac os x下增加类似下面的内容&
export&JAVA_HOME=&/usr/libexec/java_home&-v&1.8
# android&
export PATH=${PATH}:/Users/macbook/WorkSpace/android-sdk-macosx/platform-tools:/Users/macbook/WorkSpace/android-sdk-macosx/tools
安装ionic和cordova
需要首先安装好nodejs,然后通过npm来安装
npm install -g cordova ionic&
更多请参考官方文档+google /getting-started/&
创建ionic项目q-metro
使用下面的命令创建一个新的项目&
ionic start q-metro&
初始目录结构如下
&!DOCTYPE html&
charset=&utf-8&
name=&viewport& content=&initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width&
href=&/archives/lib/ionic/css/ionic.css& rel=&stylesheet&
href=&/archives/css/style.css& rel=&stylesheet&
&!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
&link href=&/archives/css/ionic.app.css& rel=&stylesheet&&
&!-- ionic/angularjs js --&
src=&/archives/lib/ionic/js/ionic.bundle.js&
&!-- cordova script (this will be a 404 during development) --&
src=&/archives/cordova.js&
&!-- your app's js --&
src=&/archives/js/app.js&
ng-app=&app& ng-controller=&Metro& animation=&slide-left-right-ios7&
class=&bar-dark&
class=&title&{{title}}
scroll=&false&
id=&canvas& style=&width: 100%; height: 100%;&
src=&/archives/lib/qunee/qunee-min.js&
index.html结构
首先看index.html,是主页面,里面引入了angularjs, cordova等js支持,此外还有app.js, controllers.js, services.js三个文件,这三个文件构建了app的应用逻辑,app是主程序,包含一些设置和启动脚本,services是数据支持部分,也就是model部分,用于提供数据的增删改查操作,controllers用于控制,包含业务逻辑控制代码
先在桌面环境下测试,Chrome运行正常,然后编译成各种移动平台版本,这里以android版本为例&
ionic start q-metro&
cd q-metro&
ionic platform add android&
ionic build android&
ionic run android&
如果要在虚拟机中测试,可以改用&
ionic emulate android&
ionic支持多种移动平台,如果希望创建ios可以将”android”改成”ios” 下面是android设备上真机运行界面如下:
给大家看看一个简单的demo的效果:
源码如下也很简单,供大家学习:
index.html如下:
&!DOCTYPE html&
ng-app=&ionicApp&
charset=&utf-8&
name=&viewport& content=&initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width&
Ionic-AngularJS Kitchen Sink
&!--&link href=&/1.0.0-beta.1/css/ionic.min.css& rel=&stylesheet&&--&
&!--&script src=&/1.0.0-beta.1/js/ionic.bundle.min.js&&&/script&--&
href=&/archives/lib/ionic/css/ionic.beta.min.css& rel=&stylesheet&
src=&/archives/lib/ionic/js/ionic.bundle.beta.min.js&
src=&/archives/js/app.js&
.box {height:300px;padding: 10px}
ng-controller=&AppCtrl&
class=&nav-title-slide-ios7 bar-positive&
class=&button-icon ion-arrow-left-c&
animation=&slide-left-right&
id=&menu.html& type=&text/ng-template&
&ion-side-menus&
&ion-side-menu side=&left&&
&ion-header-bar class=&bar-positive&&
&h1 class=&title&&Side Menu&/h1&
&/ion-header-bar&
&ion-content&
&ul class=&list&&
&a href=&/archives/609.html#/menu/tab/buttons& class=&item& menu-toggle=&left&&问答服务&/a&
&!--&a href=&/archives/609.html#/menu/keyboard& class=&item& menu-toggle=&left&&Keyboard Input Types&/a&--&
&!--&a href=&/archives/609.html#/menu/slidebox& class=&item& menu-toggle=&left&&Slide Box&/a&--&
&a href=&/archives/609.html#/menu/about& class=&item& menu-toggle=&left&&About&/a&
&/ion-content&
&/ion-side-menu&
&ion-side-menu-content&
&ion-nav-view name=&menuContent&&&/ion-nav-view&
&/ion-side-menu-content&
&/ion-side-menus&
id=&tabs.html& type=&text/ng-template&
&ion-nav-bar class=&bar-positive&&
&ion-nav-back-button class=&button-icon ion-arrow-left-c&&
&/ion-nav-back-button&
&ion-nav-buttons side=&left&&
&button class=&button button-icon button-clear ion-navicon& ng-click=&toggleLeft()&&&/button&
&/ion-nav-buttons&
&ion-nav-buttons side=&right&&
&button class=&button button-icon button-clear ion-compose& ng-click=&modal.show()&&&/button&
&/ion-nav-buttons&
&/ion-nav-bar&
&ion-tabs class=&tabs-icon-top tabs-positive&&
&ion-tab title=&问答& icon=&ion-pricetag& href=&/archives/609.html#/menu/tab/buttons&&
&ion-nav-view name=&buttons-tab&&&/ion-nav-view&
&/ion-tab&
&ion-tab title=&日记& icon=&ion-clipboard& href=&/archives/609.html#/menu/tab/list&&
&ion-nav-view name=&list-tab&&&/ion-nav-view&
&/ion-tab&
&ion-tab title=&健康汇& icon=&ion-settings& href=&/archives/609.html#/menu/tab/form&&
&ion-nav-view name=&form-tab&&&/ion-nav-view&
&/ion-tab&
&/ion-tabs&
id=&buttons.html& type=&text/ng-template&
&ion-view title=&大咖问答&&
&ion-content class=&padding&&
&div class=&head& style=&background-image: url(img/headImg.jpg);background-size:position:height: 120&&
&div class=&item item-divider&&
&ion-list&
&ion-item ng-repeat=&testItem in testItems& item=&testItem& href=&/archives/609.html#/menu/tab/testItem& data-id=&{{testItem.id}}&&
问题标题: {{ testItem.title }}
&/ion-item&
&/ion-list&
&/ion-content&
&/ion-view&
id=&item.html& type=&text/ng-template&
&ion-view title=&Item&&
&ion-content class=&padding&&
&p&内容暂时没提供&/p&
&/ion-content&
&/ion-view&
id=&testItem.html& type=&text/ng-template&
&ion-view title=&testItem&&
&ion-content class=&padding&&
&p&内容暂时没提供&/p&
&/ion-content&
&/ion-view&
id=&list.html& type=&text/ng-template&
&ion-view title=&日记列表&&
&ion-content&
&ion-list show-delete=&data.showDelete& on-delete=&onItemDelete(item)& option-buttons=&itemButtons&&
&div class=&list&&
&!--&div class=&item item-divider&&--&
&ion-item ng-repeat=&item in items& item=&item& href=&/archives/609.html#/menu/tab/item&&
Item {{ item.id }}
&/ion-item&
&/ion-list&
&/ion-content&
&/ion-view&
id=&form.html& type=&text/ng-template&
&ion-view title=&健康专栏&&
&ion-content class=&padding&&
开发中,尽请期待...
&/ion-content&
&/ion-view&
id=&slidebox.html& type=&text/ng-template&
&ion-view&
&ion-header-bar class=&bar-positive&&
&button class=&button button-icon button-clear ion-navicon& ng-click=&toggleLeft()&&&/button&
&h1 class=&title&&Slide Box&/h1&
&/ion-header-bar&
&ion-content&
&ion-slide-box&
&ion-slide&
&div class=&box&&
&h2&Box #1&/h2&
&p&Content goes here&/p&
&/ion-slide&
&ion-slide&
&div class=&box&&
&h2&Box #2&/h2&
&p&Content goes here&/p&
&/ion-slide&
&ion-slide&
&div class=&box&&
&h2&Box #3&/h2&
&p&Content goes here&/p&
&/ion-slide&
&/ion-slide-box&
&/ion-content&
&/ion-view&
id=&keyboard.html& type=&text/ng-template&
&ion-view&
&ion-header-bar class=&bar-positive&&
&button class=&button button-icon button-clear ion-navicon& ng-click=&toggleLeft()&&&/button&
&h1 class=&title&&Keyboard Input&/h1&
&/ion-header-bar&
&ion-content class=&padding&&
&div class=&list&&
&label class=&item item-divider&&
Input types for popup keyboard
&label class=&item item-input&&
&span class=&input-label&&Text&/span&
&input type=&text& ng-model=&user.username&&
&label class=&item item-input&&
&span class=&input-label&&Password&/span&
&input type=&password& ng-model=&user.password&&
&label class=&item item-input&&
&span class=&input-label&&Email&/span&
&input type=&email&&
&label class=&item item-input&&
&span class=&input-label&&Tel&/span&
&input type=&tel&&
&label class=&item item-input&&
&span class=&input-label&&Number&/span&
&input type=&number&&
&label class=&item item-input&&
&span class=&input-label&&Date&/span&
&input type=&date&&
&label class=&item item-input&&
&span class=&input-label&&Month&/span&
&input type=&month&&
&/ion-content&
&/ion-view&
id=&about.html& type=&text/ng-template&
&ion-view&
&ion-header-bar class=&bar-positive&&
&button class=&button button-icon button-clear ion-navicon& ng-click=&toggleLeft()&&&/button&
&h1 class=&title&&About&/h1&
&/ion-header-bar&
&ion-content class=&padding&&
&div class=&card&&
&div class=&item&&
&h3&本测试demo由徐杰开发设计,仅供参考&/h3&
&p&&a href=&& target=&_blank&&联系他&/a&&/p&
&/ion-content&
&/ion-view&
id=&modal.html& type=&text/ng-template&
&div class=&modal&&
&ion-header-bar class=&bar bar-header bar-positive&&
&h1 class=&title&&咨询&/h1&
&button class=&button button-clear button-primary& ng-click=&modal.hide()&&取消&/button&
&/ion-header-bar&
&ion-content class=&padding&&
&div class=&list&&
&label class=&item item-input&&
&span class=&input-label&&标题&/span&
&input type=&text&&
&label class=&item item-input&&
&span class=&input-label&&内容&/span&
&textarea rows=&4&&&/textarea&
&button class=&button icon icon-right ion-arrow-right-c button-balanced button-block&&提交&/button&
&/ion-content&
核心代码app.js如下:
angular.module('ionicApp', ['ionic'])
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('menu', {
url: &/menu&,
abstract: true,
templateUrl: &menu.html&,
controller: 'MenuCtrl'
.state('menu.tabs', {
url: &/tab&,
'menuContent' :{
templateUrl: &tabs.html&
.state('menu.tabs.buttons', {
url: &/buttons&,
'buttons-tab': {
templateUrl: &buttons.html&,
controller: 'ButtonsTabCtrl'
.state('menu.tabs.list', {
url: &/list&,
'list-tab': {
templateUrl: &list.html&,
controller: 'ListCtrl'
.state('menu.tabs.item', {
url: &/item&,
'list-tab': {
templateUrl: &item.html&
.state('menu.tabs.testItem', {
url: &/testItem&,
'buttons-tab': {
templateUrl: &testItem.html&
.state('menu.tabs.form', {
url: &/form&,
'form-tab': {
templateUrl: &form.html&
.state('menu.keyboard', {
url: &/keyboard&,
'menuContent': {
templateUrl: &keyboard.html&
.state('menu.slidebox', {
url: &/slidebox&,
'menuContent': {
templateUrl: &slidebox.html&,
controller: 'SlideboxCtrl'
.state('menu.about', {
url: &/about&,
'menuContent': {
templateUrl: &about.html&
$urlRouterProvider.otherwise(&menu/tab/buttons&);
.controller('ListCtrl', function ($scope) {
$scope.data = {
showDelete: false
$scope.itemButtons = [
text: 'Delete',
type: 'button-assertive',
onTap: function (item) {
alert('Delete Item: ' + item.id + ' ?');
$scope.onItemDelete = function (item) {
$scope.items.splice($scope.items.indexOf(item), 1);
$scope.items = [
title:'慢性鼻炎怎么预防?'
title:'高血压如何预防?'
title:'冠心病如何有效治疗?'
title:'高血压如何预防?'
.controller('ButtonsTabCtrl', function ($scope, $ionicPopup, $ionicActionSheet, $ionicModal) {
$scope.showPopup = function () {
$ionicPopup.alert({
title: 'Popup',
content: 'This is ionic popup alert!'
$scope.showActionsheet = function () {
$ionicActionSheet.show({
titleText: 'Ionic ActionSheet',
buttons: [
text: 'Facebook'
text: 'Twitter'
destructiveText: 'Delete',
cancelText: 'Cancel',
cancel: function () {
console.log('CANCELLED');
buttonClicked: function (index) {
console.log('BUTTON CLICKED', index);
return true;
destructiveButtonClicked: function () {
console.log('DESTRUCT');
return true;
$scope.testItems = [
title:'慢性鼻炎怎么预防?'
title:'高血压如何预防?'
title:'冠心病如何有效治疗?'
title:'高血压如何预防?'
$ionicModal.fromTemplateUrl('modal.html', function (modal) {
$scope.modal = modal;
animation: 'slide-in-up'
.controller('SlideboxCtrl', function($scope, $ionicSlideBoxDelegate) {
$scope.nextSlide = function() {
$ionicSlideBoxDelegate.next();
.controller('MenuCtrl', function($scope, $ionicSideMenuDelegate, $ionicModal) {
$scope.toggleLeft = function() {
$ionicSideMenuDelegate.toggleLeft();
$ionicModal.fromTemplateUrl('modal.html', function (modal) {
$scope.modal = modal;
animation: 'slide-in-up'
.controller('AppCtrl', function() {
ionic.Platform.ready(function() {
Now we can tell cordova to generate our release build:
$ cordova build&--release
在IOS中也是一样,不过IOS要打包成ipa,需要开发者账号,有兴趣朋友求提供下,谢谢!
本文已收录于以下专栏:
相关文章推荐
angular.js和ionic框架搭建一个webApp
注:本文适合对angular.js有基础的同学
这是本系列文章的开篇,本系列文章均是转载,目的是方便自己查阅,并且以后方便改动
1.1.     APP三种开发模式
智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝、京东等)、金融(各手机行业、P2P借贷等)、医疗(智慧医疗)、交通(滴滴、Uber等)、教育(...
本文讲的是android混合移动开发环境搭建,IOS的环境配置以后再补吧。在开始之前,你需要配置好JDK,如果你自己写后台,还需要配置tomcat等。这里用的开发工具是eclipse火星版,你也可以使...
–环境搭建很少做,通常搭好了就放那不动了,都快忘了,记录一下。以后再补充。本文有部分内容参考博客 WoodK
扩展阅读: AndroidStudio导入Cordova项目
本文包括jdk、a...
Ionic是目前较为流行的Hybird App解决方案,在Ionic开发过程中会遇到很多常见的开发问题,本文尝试对这些问题给出解决方案。
一些常识与技巧
list 有延...
一.创建项目
 1.打开命令提示符窗口,在窗口中切换到你想要创建项目的路径下。
创建项目命令:ionic start  helloworld blank   (helloworld是你的项目名)
...
angular ionic 框架对 Android 返回键 的 退出app 处理
第一步,首先需要在标签里面加入标签
里面的属性解释,
ng-if  值 布尔型,如果为true,则可以触发上拉事件
on-infinite 上拉时触发的事件
distance 列表底部滚动到可触发上拉...
首先先说明,这里的多系统指的是ios、android和WP这3个系统,也囊括了现在主流的手机应用市场
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 ionic2 代码混淆 的文章

 

随机推荐