博客 页面 3

cordova插件开发札记

0

原文:
Plugin Initialization and Lifetime
One instance of a plugin object is created for the life of each WebView. Plugins are not instantiated until they are first referenced by a call from JavaScript, unlesswith an onload name attribute is set to “true” in config.xml. For example,


如果不加,则插件只有在被首次调用时才会被实例化

ionic开发环境搭建

0

1.安装node,并修改源为淘宝镜像源
node下载地址:http://nodejs.cn/download/
安装完成后,使用如下命令修改为淘宝镜像:
npm config set registry https://registry.npm.taobao.org

2.全局安装ionic、cordova
npm install -g ionic cordova

3.新建项目
ionic start myApp tabs
模板项目是从gihub拉取的,有时候会失败或者速度很慢,解决办法有两个:
1.番羽土啬
2.直接从github下载
tabs:https://github.com/ionic-team/ionic-starter-tabs
blank:https://github.com/ionic-team/ionic-starter-blank

4.运行项目
ionic serve

5.添加android平台
ionic cordova platform add android
检查环境
cordova requirements
如果提示:
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: not installed
cmd: Command failed with exit code 1 Error output:
‘avdmanager’ �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���
Gradle: installed C:\gradle-3.3\bin\gradle
说明已经安装好了,Android target不用管

6.安装android相关环境
android sdk(这个得番羽土啬)
jdk
gradle

7.编译打包app
ionic cordova build android

————————————————————
ios打包从6开始不一样(待写)
6.添加ios平台
ionic cordova platform add ios
7.安装xcode
8.生成xcode项目,并使用xcode打开
ionic cordova build ios
9.选择证书,并编译

关于Visual studio code/power shell中无法使用virtualenv

0

Visual studio code使用power shell作为命令行工具,但在其中使用virtualenv的Scripts\activate.bat 无法进入到虚拟环境。
查了下,在power shell下应该使用ps脚本,virtualenv自带的有Scripts\activate.ps1
运行后power shell报错:

———————————————————————————————-
c:\Users\coloz\Desktop\servertest\iot\Scripts\activate.ps1 : 无法加载文件 C:\Users\coloz\Desktop\servertest\iot\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中
的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ c:\Users\coloz\Desktop\servertest\iot\Scripts\activate.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

———————————————————————————————-

报错中其实已经有解决办法https:/go.microsoft.com/fwlink/?LinkID=135170
简而言之,就是为了安全起见,power shell不能运行脚本,运行以下命令即可开启脚本运行权限:


 

js拖拽库

0

 

https://github.com/desandro/draggabilly
https://draggabilly.desandro.com/

https://github.com/taye/interact.js
http://interactjs.io/

 

https://github.com/Shopify/draggable

ionic生命周期事件

0

angular有一套生命周期事件:

https://angular.cn/guide/lifecycle-hooks

ionic也有,其更贴近app交互需求,在开发时应尽量使用ionic这套:

Page Event Returns Description
ionViewDidLoad void Runs when the page has loaded. This event only happens once per page being created. If a page leaves but is cached, then this event will not fire again on a subsequent viewing. TheionViewDidLoad event is good place to put your setup code for the page.
ionViewWillEnter void Runs when the page is about to enter and become the active page.
ionViewDidEnter void Runs when the page has fully entered and is now the active page. This event will fire, whether it was the first load or a cached page.
ionViewWillLeave void Runs when the page is about to leave and no longer be the active page.
ionViewDidLeave void Runs when the page has finished leaving and is no longer the active page.
ionViewWillUnload void Runs when the page is about to be destroyed and have its elements removed.
ionViewCanEnter boolean/Promise<void> Runs before the view can enter. This can be used as a sort of “guard” in authenticated views where you need to check permissions before the view can enter
ionViewCanLeave boolean/Promise<void> Runs before the view can leave. This can be used as a sort of “guard” in authenticated views where you need to check permissions before the view can leave

ionic/cordova插件开发

0

官方示例
https://github.com/apache/cordova-plugin-device

iOS库 .a与.framework区别

0

一、什么是库?

库是共享程序代码的方式,一般分为静态库和动态库。

二、静态库与动态库的区别?

静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。

动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

三、iOS里静态库形式?

.a和.framework

四、iOS里动态库形式?

.dylib和.framework

五、framework为什么既是静态库又是动态库?

系统的.framework是动态库,我们自己建立的.framework是静态库。

六、a与.framework有什么区别?

.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。

.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。

.a + .h + sourceFile = .framework。

建议用.framework.

七、为什么要使用静态库?

方便共享代码,便于合理使用。

实现iOS程序的模块化。可以把固定的业务模块化成静态库。

和别人分享你的代码库,但不想让别人看到你代码的实现。

开发第三方sdk的需要。

八、制作静态库时的几点注意:

1 注意理解:无论是.a静态库还.framework静态库,我们需要的都是二进制文件+.h+其它资源文件的形式,不同的是,.a本身就是二进制文件,需要我们自己配上.h和其它文件才能使用,而.framework本身已经包含了.h和其它文件,可以直接使用。

2 图片资源的处理:两种静态库,一般都是把图片文件单独的放在一个.bundle文件中,一般.bundle的名字和.a或.framework的名字相同。.bundle文件很好弄,新建一个文件夹,把它改名为.bundle就可以了,右键,显示包内容可以向其中添加图片资源。

3 category是我们实际开发项目中经常用到的,把category打成静态库是没有问题的,但是在用这个静态库的工程中,调用category中的方法时会有找不到该方法的运行时错误(selector not recognized),解决办法是:在使用静态库的工程中配置other linker flags的值为-ObjC。

4 如果一个静态库很复杂,需要暴露的.h比较多的话,就可以在静态库的内部创建一个.h文件(一般这个.h文件的名字和静态库的名字相同),然后把所有需要暴露出来的.h文件都集中放在这个.h文件中,而那些原本需要暴露的.h都不需要再暴露了,只需要把.h暴露出来就可以了。

原文地址:http://blog.csdn.net/lvxiangan/article/details/43115131

mongodb图形化客户端

0

ROBO 3T下载地址
https://robomongo.org/download

ionic相关app

0

google play镜像网站:https://apkpure.com/search?q=ionic

npm报MSBUILD错误的解决办法

1

npm报错:
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其他位置,请将其位置添加到系统路径中。

直接使用这个工具即可,一次解决所有问题:
https://github.com/felixrieseberg/windows-build-tools

npm install –global –production windows-build-tools
需要注意的是需要管理员权限安装,CMD右键管理员打开即可