微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于J2ME的手机相册系统

基于J2ME的手机相册系统

时间:10-29 来源: 点击:

ection) Connector.open(strIp, Connector.READ_WRITE);

hpc.setRequestMethod(HttpConnection.POST);

hpc.setRequestProperty("Content-Type",

"application/x-www-form-urlencoded");

dos = new DataOutputStream(hpc.openDataOutputStream());

dos.write( ("no=" + stname).getBytes());

dos.write("&".getBytes());

dos.write( ("pass=" + stpass).getBytes());

dos.close();

……

}

通过以上代码,可以实现连接web服务器,并且post出去两个参数,以便服务器验证用户身份。其他向服务器传送命令的代码类似。

当MySearch.jsp得到MyGet参数时,JSP得到服务器上存放照片文件夹的图像文件列表,将文件名逐一传送到客户端。

String jname=request.getParameter("MyGet");

if(jname.equals("IsOk")){

……

out.print(XXX.png); //循环打印文件名

……

}

在手机客户端利用DataInputStream类接收数据,再将的到的文件名显示再手机屏幕上,以便用户选择浏览。其代码如下:

HttpConnection hpc = null;

DataInputStream dis = null;

hpc = (HttpConnection) Connector.open(localUrl, Connector.READ_WRITE);

……

dis = new DataInputStream(hpc.openDataInputStream());

StringBuffer b = new StringBuffer();

int ch;

while ( (ch = dis.read()) != -1) {

……

}

……

4.2利用流传输文件及文件的再现

手机得到web服务器上的文件可以通过多种方式,例如利用XML进行包装,利用Socket技术,利用流技术进行传送等。为了减少手机和服务器的负担,提高效率,减少代码本系统采用流技术传送图像文件。在手机端利用InputStream类接收得到的图像信息数据。其代码如下:

public Image MyImage;

public String ImageName;

……

HttpConnection con = null;

InputStream ins = null;

String MyIp = "http://127.0.0.1:8080/"+ ImageName;

try {

con = (HttpConnection) Connector.open(MyIp, Connector.READ_WRITE);

……

ins = con.openDataInputStream();

MyImage = Image.createImage(ins);

}

……

向web服务器提出申请后,服务器会返回用户请求的资源,图像文件备包装进一个Stream发送给用户。J2ME利用InputStream来接收输入流,并利用Image的createImage方法将数据流转换为Image类型,以便在手机上显示。

5 总结

本文给出了一个基于J2ME 的个人相册的设计和实现,保证了用户及时地通过移动终端访问服务器上的照片。采用流作为数据交换的工具,实现了文件的远程传递和重组。。利用当前使用最广泛的HTTP 通信协议,将传统的Internet 网站与移动终端相结合,验证了建立移动个人相册的可行性。并为实现基于J2ME 的小型移动图像浏览系统提供了一种可行的方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top