云应用开发另一些细节总结

写一下前些日子云app开发的遇到的一些细节问题。

 

1、scrollview的问题

 

首先是关于scrollview这个类的。观察了已经上线的一些云应用,对于scrollview都好像没有处理的太好。这个view是绑定在容器上的一个滑动组件,但云app不像android在对组件的调用时只需要代码写好就可以了,云app更多的还需要DOM的格式问题。在这个问题上很多应用都会出现类似与滑动条跑到header上去了这种事情。

 

<?xml version="1.0" encoding="utf-8"?>
<div id="home">
	<div class="header">
		<a class="goBack" _action="go_back">后退</a>
		<span class="ms-yh">团团聚</span>
	</div>
	<div id="home-content-wrapper" class="scrollview" style="height: 638px; ">
		<div class="scroller">
			<ul id="home-list" style="min-height:638px;">
	        </ul>
		</div>
	</div>
</div>

如上面的代码,其实scroll的格式只是在需要做滚动的容器上加一个class为scroll的div在再在外面再加一层包装即可。这是一种固定的格式,接下来需要在scroll这div的里层外层的容器分别加上css,一个为min-height,另一个是height,这样就能保证滑动条不会跑到header上去了。

 

其次scrollview的初始化最好放在init里,如果放在reset里切换回来就会出现很多scroll-bar

当page转换回来的时候,如果这个滑动区滑过,那它还会在以前那个位置,这个时候就需要对滑动区进行重置。

 

 

this._scrollview.scrollTo(0);

 

 

2、page切换效果问题


另外对于page切换的效果问题,这个貌似开发指南里没有,caf框架貌似暂时只提供了默认的渐现切换效果,代码如下:

 

this.init = function(){
		_super.init.apply(this, arguments);
		//注册模板库
		this._template.reg(runtime.getTplData("tuantju.tpl"));
		this._deckPage.create(runtime.getWorkspace(), this, this._history);
		this._deckPage.setUseAnimate(true);
		this.reset();
	};

  在主app初始化时增加这一句 this._deckPage.setUseAnimate(true);


4、第三方库方面

 

在本地开发的sdk中,云应用平台是自动载入lib目录下的第三方库的,这样没法知晓依赖顺序,比如我这个应用需要用到jQuery和jQuery.tmpl,只能将两个文件按照依赖顺序写入同一个文件中,而在在线ide后需要在app.json配置文件中加入的lib项按顺序写入一个string。这样才能保证库的有效性,这个坑爹的东西折腾了我和正乐童鞋许久。

 

 

	"lib": "jquery-1.6.1.min.js,tuantju.tpl,tuantju.lib",
 

 

5、关于云应用phonegap原生android系统app移植

 

放假时闲着无聊将花爷的云应用移植到了phonegap平台下,原生依赖caf框架的云应用移植会比较麻烦,因为caf没有phonegap下对应的框架,对于single-page的云应用还是很好移植的,就是将所有代码直接写在一个page下并且没有用caf提供的netInvoke远程代理请求的ajax请求而是直接用jQuery提供的ajax方法。这里要注意caf的netInvoke方法是通过远程代理的,而ajax是本地代理,所以需要在服务端开启rpc跨域:

 

<?php
header("Access-Control-Allow-Origin: *");
?>

 

下次会抽时间完整把我移植本地js到phonegap平台的东西写一下,这里就不赘述了。

 

6、关于api的获取

 

现在网站会提供很多开放的api以供开发者开发第三方应用。

下面的是国外收集的api集合:(http://www.blogjava.net/qixiangnj/archive/2007/10/31/157280.html)

但是国内貌似api开发的力度并不大,但是我们还是有办法的,比较文明的是联系他们,让他们提供api以便开发,那比较暴力的呢?可以用反编译android app的方法暴力的提取api,这是一个不错的方法,具体见我这篇博文(http://leyteris.iteye.com/blog/846036

 

7、手机交互方面

 

其次是对于手机交互。由于手指触点很大,所以比如一个list-item不能太小,高度要达到65px;事先做好psd的交互设计图是关键。手机应用的UI甚至比应用本身功能还要重要。

如下设计稿是比较完整的,考虑到触点问题,将每一个可点击的item尽量在美观的情况下放大。对于输入框也最好在65px以上。


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值