您的位置:首页 > 移动开发 > Android开发

android项目总结之表单

2016-01-16 11:32 337 查看

一、前言

项目中做的表单是一个商品发布的表单,效果图如下:



二、注意事项

1、布局问题

一开始全部使用LinerLayout和RelativeLayout,界面是是实现了。但是界面布局层次过多。后来还是改成了TableLayout布局,左边label右边value,布局工整,挺好用的。

2用户交互问题

由于这个是商品发布,有很多内容都是从后台提取出来的比如价格里面单价的单位。还有比如文件、图片上传(这些我都是直接上传返回一个文件在服务器文件夹的url,点击提交按钮提交url),因此在进入该页面之时就必须检测网络状态。

个人觉得如果有些field备选项较多就不要使用popwinow,直接跳到另一个页面,用户选择完成之后再携带选择数据跳回。

操作便捷,比如有些完全是用户手动输入的字符串,这种我们需要在editText后面附上一个×,点击它清空该项。这种细节是值得做的。

必填项、单选项、多选项(比如商品属性)都需要以一种约定俗成的方式暗示用户。比如在field后面加上红色星号表示必填项。

用户错误反馈必须明确清晰,到底是哪个组件错了(自动聚焦),应该输入什么,应该明确告诉用户。不能让用户产生疑惑。

3、表单校验

原生的在xml文件中写始终有限。不能动态校验,比如图中的月份,结束日期,必须比发布日期大,这种校验在xml中就没有办法完成。关于Android表单校验库:FireEye和 Android Validation

个人觉得移动端表单一般不是很多,在这种情况下,基本是不需要校验库。如果需要上面那种说的动态校验库的话,依然是需要自定义校验规则实现类的。一般用法就是构建Form类,然后将需要校验的view添加进去。分为中断校验和持续校验。而且这两个库我都没有发现我需要的校验失败返回第一个不合法的控件id和清空操作(我的商品发布是需要现场拍照,发布,不适合在pc端发布)。我觉得第三方库还是很累赘的。该自定义的还是需要自定义。第三方库其实减少不了多少工作量。还引入了一个库。不如自己几句代码简单粗暴。

前端框架大部分都是有这些的。Extjs中form自带getValues()方法(拿到所有键值对),自带reset()清空表单方法等等。非常人性化。但是安卓端可能大部分时候不需要复杂的表单操作,这些都没有自带,需要自己完成。

4、文件上传

表单中的文件上传的方式前面用户交互中也说到了,其实这里面没有断点续传之类的东西,都是一次要么成功要么失败的。只是在上传之前注意一下需要压缩一下。

三、总结

这个表单实现功能其实很简单,如果细细优化起来,还是有很多工作需要去做的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息