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

Android(OPhone) 学习笔记 - 表单提交

2009-09-03 17:51 447 查看
在上篇文章中,我们学习了如何从网页中获取字符和图像。为了使手机软件具有交互的能力,我们在本文中实现如何从移动终端提交表单数据。
一、网站准备
如果你具备网页设计基础,你可以自己设计一个小页面来实现表单提交的接口。一个输入框和一个按钮即可。在用浏览器访问页面时,我们只需在输入框中输入字符,并点击提交按钮即可。如图:



为了和以后的教程接轨,我们在这里使用Google的App Engine来实现网页,顺便介绍一下Google这个即将流行的云计算引擎。



首先你需要一个Google的帐号,通过该帐号去申请一个App Engine。在 https://appengine.google.com/ 上面可以注册、使用、学习教程。然后按照它的教程去下载python或者Java的SDK和Google的SDK。本段留言板的代码来自于Google的帮助实例,内容如下。python很容易理解,基本上可以看懂内容:



完成代码编写之后,用appcfg.py update appname来上传文件,正常发布后,即可用浏览器访问。

二、函数库支持
上一篇文章中,网络功能使用的是java.net的库,本文使用的是Apache的库。和网络相关的库如下:
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.*;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

三、界面设计



此界面下方还有一个现在不能看见的TextView,用于显示例外的错误代码。
四、代码编写
实现提交数据时,为了防止一旦发生网络阻塞或者故障,程序出现假死现象,在本例中我们采用线程的办法来提交数据。
线程结构如下所示:





在按钮响应中,线程开始运行,线程运行的内容即try中的内容是提交数据的代码。



这段代码中
1.新建一个post对象,将post地址提交。
2.输入表单数据,用nameValuePairs来表示,如果表单域有多项内容,则改动list的数目,本例中只有一项内容,标题为content。
3.最后通过新建响应对象来获取返回数据。

五、执行结果
当然,你的OPhone要可以正常访问网络,执行后我们看到:



在网页中,我们看到了如下结果:



六、总结
本例实现了表单数据提交,可以和上篇文章结合,实现终端和网页互动,如果有合适的方案,利用此技术将产生大量新奇实用的应用,并将向云计算方向发展。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息