- 浏览: 212285 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fenglongcen:
java可以写测试脚本吗?
linux 通过脚本执行java程序 -
chensss2008:
我代为回答2楼的问题,呵呵,因为我也遇到了这个问题。使用adm ...
SVNManager使用介绍 -
小诗诗:
我想问一下怎么使用“服务器配置管理员”怎么登陆啊!!!! ...
SVNManager使用介绍 -
sbcqw93:
能创建文件夹吗?比如说:http://127.0.0.1/sv ...
SVNManager使用介绍 -
energykey:
yhjhoo 写道好像没有一个外部的jar包,请教以下如何在l ...
linux 通过脚本执行java程序
J2ME实现从服务器端下载文件:
我以下载服务器文件并在手机客户端显示图片为例:
测试截图:
程序代码
我以下载服务器文件并在手机客户端显示图片为例:
测试截图:
程序代码
package com.mopietek; import java.io.IOException; import java.io.InputStream; import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.StringItem; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class HttpMID extends MIDlet implements CommandListener,Runnable{ public static Command connect = new Command ("联网",Command.OK,1); public static Command change = new Command("更改入网的方式",Command.OK,1); public static Command exit = new Command("退出",Command.EXIT,1); public Form form; public Display display; HttpConnection http; String host = "dev.mopietek.net:8080/ebook"; String path = "/upload/123.gif"; //接入点为cmnet或者是cmwap boolean cmnet = true; public static final int WAIT = 0; //等待 public static final int CONNECT = 1; //连接中 public static final int SUCCESS = 2; //成功 public static final int FALL = 3; //失败 public int state; //当前状态 StringBuffer sb = new StringBuffer("当前接入方式为:CMNET\n"); StringItem si = new StringItem(null,sb.toString()); public HttpMID(){ display = Display.getDisplay(this); state = WAIT; form = new Form("HttpTest"); form.append(si); form.addCommand(connect); form.addCommand(change); form.addCommand(exit); form.setCommandListener(this); } protected void destroyApp(boolean unconditional) throws MIDletStateChangeException { // TODO Auto-generated method stub } protected void pauseApp() { // TODO Auto-generated method stub } protected void startApp() throws MIDletStateChangeException { display.setCurrent(form); } public void commandAction(Command c, Displayable d) { if(c == change){ if(isConnect()) return; cmnet = ! cmnet; form.deleteAll(); sb.delete(0, sb.length()); addStr("当前接入方式为:" + (cmnet ? "CMNET" : "CMWAP")); form.append(si); } else if(c == connect){ if(isConnect()) return; new Thread(this).start(); }else if(c == exit){ try { destroyApp(true); } catch (MIDletStateChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.notifyDestroyed(); } } private boolean isConnect() { if(state == CONNECT){ addStr("网络链接中,请稍后..."); return true; } return false; } private void addStr(String str) { sb.append(str + "\n"); si.setText(sb.toString()); } public void run() { form.deleteAll(); sb.delete(0, sb.length()); addStr("当前接入方式为:" +(cmnet ? "CMNET" : "CMWAP")); form.append(si); state = CONNECT; addStr("网络链接中.."); InputStream is = null; try{ String url = null; url = cmnet ? ("http://" + host + path) : ("http://10.0.0.172:80" +path); http = (HttpConnection) Connector.open(url,Connector.READ_WRITE,true); if(!cmnet) http.setRequestProperty("X-Online-Host", host); http.setRequestMethod(HttpConnection.GET); String contentType = http.getHeaderField("Content-Type"); System.out.println(contentType); if(contentType != null && contentType.indexOf("text/vnd.wap.wml") != -1){ addStr("移动资费页面,过滤"); http.close(); http = null; http = (HttpConnection) Connector.open(url,Connector.READ_WRITE,true); if(!cmnet) http.setRequestProperty("X-Online-Host", host); http.setRequestMethod(HttpConnection.GET); contentType = http.getHeaderField("Content-Type"); } addStr("Content-Type=" + contentType); int code = http.getResponseCode(); addStr("HTTP Code :" + code); if(code == 200){ addStr("网络联网成功,接收数据..."); is = http.openInputStream(); Image image = Image.createImage(is); addStr("数据接收完毕,显示图片..."); form.append(image); state = SUCCESS; return; }else{ addStr("访问页面失败"); } }catch(IOException e){ addStr("联网发生异常:" + e.toString()); e.printStackTrace(); }catch(Exception ee){ addStr("发生异常:" +ee.toString()); ee.printStackTrace(); }finally{ if(is != null){ try{ is.close(); }catch(IOException e){ e.printStackTrace(); } is = null; } if(http != null) try{ http.close(); }catch(IOException e){ e.printStackTrace(); } http = null; } state = FALL; } }
发表评论
-
Lwuit---小细节疑难杂症整理
2010-05-04 17:41 14481、textArea 显示文本内容,在部分手机上无法显示全部内 ... -
Lwuit布局管理
2010-05-04 15:40 1643布局管理器中一个比较特殊的管理器CoordinateLa ... -
J2ME Socket编程
2010-04-25 23:35 4096Socket是套接字,它是基于TCP协议的传输。 在J2ME ... -
Alert用法
2010-04-08 18:21 3885在J2ME中,关于Alert类是用来向用户发出警告信息,一般A ... -
Midlet与Servlet传递Cookie
2010-03-31 11:47 2259Cookie在Java ME平台中没有得到支持,因此要想维持客 ... -
J2ME手机编程中使用字体与游戏键值
2010-03-25 10:02 1412J2me中关于字体Font类的介绍: Font fon ... -
J2me低级UI界面中Canvas类与GameCanvas类
2010-03-23 10:18 3367关于MIDlet类中destroyApp( ... -
J2ME从服务器解析并读取xml文件
2010-03-09 16:55 2225J2ME从服务器解析并读取xml文件,其实跟在本地读取xml文 ... -
J2me语言国际化
2010-03-04 16:39 1599J2me手机开发在早期的WTK没用jsr 238包,所以程序要 ... -
J2ME下载并读取服务器txt文件
2010-03-04 11:56 2059J2ME下载并读取服务器txt文件,我用的公司的服务器,大家如 ... -
J2ME解析并读取xml文件
2010-03-03 17:37 5782用KXML解析读取xml文本 首先需要kxml2-2.3.0. ... -
J2ME手机本地文件上传服务器
2010-02-23 10:20 2728J2ME手机本地存储文件的上传,核心代码如下: pac ... -
读取手机本地图片和文本文件(Lwuit版)
2010-02-22 13:21 2559读取手机存储文件的核心代码: package com.m ... -
Lwuit中关于TextField限制输入为数字的内容代码
2010-01-28 10:50 2050Lwuit中关于TextField限制输入为数字的内容代码 ... -
Lwuit 钟表ClockWidget小应用程序
2010-01-26 12:59 1621J2ME关于Lwuit应用的钟表ClockWidget程序 ... -
Lwuit实现九宫图特效程序
2010-01-25 12:16 2208最近在网上看到很多九宫图的程序说明,但大多数是转载的,一些知识 ... -
J2ME中关于Lwuit的标签的综合使用
2010-01-22 18:02 2481J2ME中关于Lwuit的标签的综合使用 由于我使用的主题对 ... -
Lwuit中关于TextArea、TabbedPane组件的使用说明
2010-01-21 16:15 2186TextArea组件的使用说明代码如下: package ... -
Lwuit中CheckBox、ComboBox组件的使用说明
2010-01-21 15:53 2414这几天刚刚开始接触LWUIT,前两天从网上搜到一兄台的博客写的 ... -
J2ME配置Lwuit
2010-01-20 11:34 2174使用Eclipse加入Lwuit jar包配置方法 1.先 ...
相关推荐
在J2ME(Java Micro Edition)平台上实现断点续传,可以为移动设备上的文件下载提供可靠的解决方案。本文将深入探讨J2ME中实现断点续传的关键技术点,并给出相关实现思路。 首先,理解断点续传的基本原理。断点续传...
在J2ME中,实现文件上传到服务器的功能可能会面临一些挑战,因为J2ME的API相对有限且不支持大文件直接上传。下面将详细介绍如何克服这些限制,实现J2ME文件上传到服务器的过程。 首先,我们需要了解J2ME的基础知识...
在服务器端,根据JSR75(Java Persistence API for Ubiquitous Devices)规范,解析multipart/form-data的流,提取出各个文件和字段。JSR75主要关注设备上的持久化,但这里可能是指处理文件上传的规范。 总的来说,...
**J2ME实现手机QQ源代码详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于开发移动设备和嵌入式设备的应用程序。在这个项目中,我们探讨的是如何使用J2ME技术来实现手机上的QQ应用程序。手机QQ...
在本“J2ME实现范例”中,我们将深入探讨J2ME的基础知识及其在实际应用中的运用,帮助你在后续的开发工作中更加得心应手。 1. **J2ME架构**: J2ME包含配置(Configurations)和框架(Profiles),如MIDP(Mobile ...
MIDP提供了`HttpConnection`和`SocketConnection`接口,使游戏能够实现在线特性,如排行榜、多人对战和内容下载。 **8. 性能优化与调试** J2ME应用运行在受限环境中,因此优化代码以减少内存占用和CPU使用至关重要...
"J2ME开发.pdf"可能包含J2ME的详细教程或者最佳实践,涵盖从基础语法到高级特性的讲解,包括UI设计(如Form和Canvas类)、数据持久化(RecordStore)、网络编程(HttpConnection和Socket)以及事件处理等。"下载必看...
**J2ME从入门到精通** Java Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式系统和移动设备,如早期的智能手机、电视盒和家用电器。本教程将带你逐步深入J2ME的世界,理解其基本概念、开发环境搭建、...
Java 2 Micro Edition(J2ME)是一种Java平台,主要用于开发在嵌入式设备和移动设备上运行的应用程序。这个平台简化了在资源有限的设备上实现Java应用程序的过程。本压缩包提供了两本关于J2ME入门学习的电子书籍:...
总的来说,这个主题涵盖了移动开发中的网络通信和服务器交互,对于理解J2ME应用如何与服务器端动态脚本协同工作,以及如何实现移动设备的数据库访问具有重要意义。开发者需要熟悉J2ME的HttpConnection API,以及ASP...
总之,这份J2ME学习资料打包下载涵盖了从基础到进阶的全方位内容,无论是对J2ME感兴趣的新手还是有经验的开发者,都能从中获益。通过深入学习和实践,可以掌握开发跨平台移动应用的技能,尤其是针对老一代移动设备的...
手机浏览器源码是移动设备上实现网页浏览功能的软件的核心组成部分。J2ME,全称为Java Micro Edition,是Java平台的一个子集,主要用于嵌入式系统,如早期的智能手机和平板电脑。本篇将深入探讨基于J2ME的手机浏览器...
- **HttpConnection**:实现HTTP协议,用于与服务器进行数据交换。 - **InputStream/OutputStream**:读写网络数据的接口。 4. **用户界面** - **LWUIT (Lightweight User Interface Toolkit)**:一个可选的库,...
在J2ME中,开发者可以使用`HttpConnection`对象建立到Web服务器的连接,发送GET或POST请求,获取响应数据。 **三、网络游戏的实现** 1. **通信协议**:网络游戏通常采用TCP或UDP协议进行通信,TCP提供可靠的连接,...
j2me手机浏览器通常基于MIDP,它包含了必要的API来构建用户界面,如ChoiceGroup和Form,以及实现网络通信,如HttpConnection。此外,早期的移动互联网服务往往使用WAP(Wireless Application Protocol)协议,因此,...
在网络功能方面,MIDP提供了HttpConnection API,允许应用与服务器进行交互。如果需要同步手机上的名片夹与云端服务,可以通过这个API发送HTTP请求,实现数据的上传和下载。 安全方面,J2ME提供了基本的安全模型,...
5. **网络编程**:J2ME提供了HttpConnection和SocketConnection接口,允许开发者实现网络通信,如下载数据、上传用户数据或进行实时同步。 6. **数据存储**:在J2ME中,通常使用RecordStore API来持久化数据。...
J2ME提供了丰富的API来实现这些设备上的功能,包括用户界面、网络通信、数据存储等。 在**J2ME中文API**中,主要包含以下几个核心部分: 1. **CLDC(Connected Limited Device Configuration)**:这是一个轻量级...
总结来说,这个"j2me版wap浏览器源码"项目涵盖了J2ME平台的基础知识,XML解析技术,WAP协议的实现,以及针对移动设备的性能优化策略。对于想要学习J2ME移动开发或者WAP应用的人来说,这是一个宝贵的参考资料。通过...