1.超时问题,参照:http://blog.csdn.net/hengyunabc/article/details/22716911.解决方案是:为对应的httpclient设置超时即可.
httpClient = new DefaultHttpClient();
httpClient.getParams().setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 2000);
httpClient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 2000);
2. 句柄泄露(CLOSE_WAIT半连接关闭)
HttpClient容易忽视的细节——连接关闭,参照:http://seanhe.iteye.com/blog/234759
httpmethod.releaseConnection();
client.getConnectionManager().shutdown();
node 问题
1.安装brew之后,使用brew install node安装好之后,node -v一直无作用,解决办法:卸载brew,重新安装,安装好之后直接brew install node。
之前安装失败:在安装好brew之后,使用了brew update,brew doctor,brew link node。
node与ionic安装
node卸载:sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
brew卸载:/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”
brew安装:/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
环境变量:echo ‘export PATH=”/usr/local/sbin:$PATH”‘ >> ~/.bash_profile 或者touch .bash_profile open -e .bash_profile然后将export PATH=”/usr/local/sbin:$PATH添加进去保存。
命令行下:echo $PATH, 看看输出是什么,里面有没有 /usr/local/bin。
同上:ls -l /usr/local/bin | grep node, 看看node是否确实存在。
同上:ls -l /usr/local/bin/node。
ionic安装的时候:先sudo su 然后用 sudo npm install -g cordova ionic 安装.
如果cordova -v报错,sudo chmod 744 /Users/edutech/.config/configstore/cordova-config.json
ionic 元素高度,位置
1.可以通过document.getElementById(“attach_headerId”).scrollHeight;或者scrollWidth来获取元素的高度。
可以通过document.getElementById(“chapterId”).offsetLeft来获取上下偏移量。
如果元素不包含在
Xcode编译报错
错误The maximum number of apps for free development profiles has been reached.
1.卸载设备上之前安装的app重新build,看是否可行;
2.~/Library/MobileDevice/Provisioning\ Profiles/,前往该路径下,删除provisioning文件。在钥匙串中,删除生成的证书。重新打开项目编译。
cordova
1.ionic使用cordova插件时,如果你想修改插件的某个功能,可以在plugins下找到对应的源码,修改对应的平台。
注:iOS可以通过打开build之后的项目调试,在项目中修改插件源代码。修改完之后然后覆盖对应的文件(android:java文件,iOS:.h .m文件)。是否可以添加类(未尝试)
2.修改完插件之后,将之前build好的删除掉。重新跑一跑build流程。
3.可以自己创建新插件然后引人到自己项目中。
ionic2 build iOS
1.cordova build iOS;
2.cordova run iOS;
需要先将ios-deploy安装上去。
安装过程如果出错,可以到该目录下将ios-deploy文件夹删除之后,在用npm命令安装上去。
sudo npm install -g ios-deploy –unsafe-perm=true –allow-root
HTML
1.防止事件冒泡。就是给该元素添加点击事件,然后实现方法。
a.一个事件起泡对应触发的是上层的同一事件
特殊:如果two设置成双击事件,那么在你单击two的时候就会起泡触发one单击的事件
(双击包含单击)。
b.如果在click事件中,在你要处理的事件之前加上e.preventDefault();
那么就取消了行为(通俗理解:相当于做了个return操作),不执行之后的语句了。
c.e.stopPropagation()只要在click事件中,就不会触发上层click事件。
ionic 界面
1.
attach_innerdiv{
width: 100%;
height: 100%;
text-align: center;
position: relative;
top: 0px;
right: 0px;
z-index: 1;
}
.attach_deletediv{
width: 30px;
height: 30px;
position: relative;
top: -100%;
z-index: 2;
float: right;
}
可以根据position和z-index来将某个元素覆盖在另外一个上面,再通过top,left等来调节相对位置。
2.border要设置solid否则可能显示不出来。
border: 1px solid;
border-color: #eeeeee;
border-radius: 0.5rem;
Cordova/Ionic
1.cordova中的device可以获取设备类型,系统版本等信息;
2.cordova中的AndroidFullScreen可以获取到屏幕像素
if(this.plt.is("android")||this.plt.is("ios"))
{
this.screen.immersiveHeight().then(height=>{
this.device_screenHeight = height;
}
);
this.screen.immersiveWidth().then(width=>{
this.device_screenWidth = width;
}
);
}
3.imageResizer可以截取图片;
4.photoviewer可以显示图片和分享(android);
5.cordova中的camera可以调用原生相机,返回值可以返回base64的图片信息或者图片地址(path或者uri)