`
1140566087
  • 浏览: 559316 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18537
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:314169
Group-logo
J2ME 基础学习课程集
浏览量:18754
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17583
社区版块
存档分类
最新评论

J2ME GCF--通用连接框架--图片下载

    博客分类:
  • J2ME
阅读更多
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;

import javax.microedition.io.Connector;
import javax.microedition.io.ContentConnection;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

// 			第六章  开发无线网络应用程序
//Generic Connection Framework --通用连接框架
//GCF的特性:
//		基于接口设计,便于扩展,提供了创建连接的工厂方法 ,使用标准的url  
//	各接口的作用:HttpConnection HttpsConnection 接口,使得MIDlet 具备了通过Http 或者Https 协议与server 通信的能力;
//	可选:SocketConnection / ServerSocketConnection、UDPDatagramConnection , 使得MIDlet 能够在TCP/IP 层通过Socket进行通信或者
//		使用数据报进行通信

//  现实世界使用的是:分组数据交换和电路交换 , 因此在联网框架中定义了 :DatagramConnection 和 StreamCononection;
//	在基于流的传输中我们要对输入流和输出流是具有操作能力的;StreamConnection 扩展了InputConnection 和OutputConnection; 打开:Con.opeanInputStream();
//	SreamConnectionNotifier接口定义了连接监听器应该具备的能力;


public class SixSection_GCF extends MIDlet {

	//准备需要使用到的数据类型
	private ContentConnection connection = null;
	private ByteArrayOutputStream baos = null; // 字节数据输出流
	private  Image image = null;  //初始化图片
	private byte[] imageData = null;
	private DataInputStream dis = null;		// 新建数据输出流
	private Form form = new Form("下载图片");
	private Display display ;
	
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub

	}

	protected void pauseApp() {
		// TODO Auto-generated method stubs

	}

	protected void startApp() throws MIDletStateChangeException {
		// TODO Auto-generated method stub
		display = Display.getDisplay(this);
		getImage("http://localhost:8080/imageSite/mv.jpg");
		form.append(image);
		display.setCurrent(form);
	}
	
	//下载图片
	public void getImage(String url){
		try{
			//建立Http连接
			connection = (ContentConnection) Connector.open(url);
			//新建输入输入流
			dis = connection.openDataInputStream();
			//获得Http连接的长度
			int length =(int) connection.getLength();
			
			if(length!=-1){
				imageData = new byte[length];
				//使用流读取 --输入,读  /输出,写
				dis.readFully(imageData);  // 读取到数据
			}else{
				baos = new ByteArrayOutputStream();
				int ch = 0;
				while((dis.read())!=-1){
					baos.write(ch);
					imageData = baos.toByteArray();
				}
			}
			image = Image.createImage(imageData, 0, imageData.length);
			
		}catch(Exception exs){
			exs.printStackTrace();
		}finally{
			//资源回收
			try{
				if(connection!=null){connection.close();}
				if(dis!=null){
					dis.close();
				}
				if(baos!=null){
					baos.close();
				}
			}catch(Exception ex){
				ex.printStackTrace();
			}
		}
	}

}
分享到:
评论

相关推荐

    探索J2ME:用GCF通信

    在Java Micro Edition (J2ME)的Mobile Information Device Profile (MIDP)中,通用连接框架(Generic Connection Framework,简称GCF)是一个重要的组件,它为移动设备提供了与其他设备进行数据传输的能力。GCF位于`...

    第十章无线网络开发--j2me开发.ppt

    本章将深入探讨J2ME中的联网技术,特别是通用连接框架(Generic Connection Framework, GCF)。 ### 10.1 J2ME联网技术简介 在Java Standard Edition (J2SE)中,我们通常使用`java.net`和`java.io`包中的类来处理...

    J2ME联网不同运营商网络方案

    首先,我们要了解的是J2ME的通用连接框架(Generic Connection Framework,简称GCF)。GCF是J2ME提供的一种标准化的接口,它使得开发者能够方便地接入各种网络协议,如TCP/IP、HTTP、UDP等。GCF的核心在于`javax....

    J2ME网络编程[收集].pdf

    本文将深入探讨J2ME的网络编程,特别是通用连接框架(Generic Connection Framework,GCF)的基础知识,以及在中国环境下进行网络开发的注意事项。 **通用连接框架(GCF)** GCF是J2ME中用于实现设备间网络通信的...

    开发适应中国网络的J2ME连网程序

    本文将探讨J2ME的通用连接框架(Generic Connection Framework,GCF),以及在中国环境下进行网络开发的关键点。 **通用连接框架(GCF)** GCF是J2ME中用于网络连接的核心组件,它提供了一组接口,允许开发者创建...

    J2ME网络编程.

    **通用连接框架**(Generic Connection Framework, GCF),是J2ME中处理网络连接的核心组件,它为开发者提供了一套统一的接口,用于实现不同类型的网络连接,包括但不限于HTTP、FTP、TCP/IP等。GCF的灵活性在于它能够...

    在J2ME中开发蓝牙无线软件

    Java蓝牙API主要依赖于Java通用连接框架 (Generic Connection Framework, GCF),这是一个长期存在于J2ME中的框架。虽然有提议将GCF包含进Java 2 Standard Edition (J2SE) 中,但目前它的主要应用场景仍然集中在J2ME...

    JAVA基于J2ME的手机游戏开发(论文+源代码).rar

    MIDP包含对CLDC中的GCF(Generic Connection Framework),即通用连接框架的支持,MIDP规范只是要区分必须实现HTTP的连接。如果想开发的是基于无线网络的高性能的多人联网游戏,这非常值得考虑应用。目前的情况是,...

    在无线J2ME设备上实现http传输.doc

    在J2ME中,实现HTTP传输主要依赖于`javax.microedition.io`包中的网络类,尤其是通用连接框架(Generic Connection Framework,GCF)。GCF提供了一个抽象层,允许开发者在不同类型的移动设备上进行网络通信,而无需...

    socket的手机网络游戏设计与实现

    J2ME提供了多种网络连接方式,其中最重要的是基于CLDC的通用连接框架(GCF)。GCF是J2ME中的核心网络通信组件,提供了多种连接接口,例如: - **Connector类**:用于创建各种类型的网络连接。 - **Connection接口**...

    诺基亚手机Java开发最新更新

    - **背景**: 基于通用连接框架(Generic Connection Framework, GCF)的I/O操作对于文件访问的支持不足,FC APIs弥补了这一缺陷。 - **功能**: FC APIs不仅支持文件的基本操作,如读取、写入等,还支持更高级的操作...

    运用J2ME与Servlet技术的手机程序开发研究

    J2ME技术中的通用连接框架(Generic Connection Framework,GCF)提供了网络连接的能力,其中HttpConnection类用于创建HTTP连接。 文章中还提到使用Eclipse作为集成开发环境,结合Tomcat服务器和EclipseMe插件来...

    PUSH注册机制在JAVA移动应用程序开发中的使用.pdf

    PUSH注册机制是JAVA移动设备应用程序开发的一种被自启动的方法,PUSH注册机制位于AMS(应用程序管理软件)的内部,其是通用连接框架(GCF)的的一部分。PUSH注册机制主要包括入站连接队、时钟警告队、基于入站连接的...

    本文我们首先介绍在移动设备上进行java开发的基本原理共享.pdf

    首先,Java蓝牙API是基于Java通用连接框架(GCF)的,虽然GCF曾是限制Java蓝牙应用的一个因素,但现在已被提议加入到J2SE中。API包含两个主要包:`javax.bluetooth`是核心蓝牙功能,而`javax.obex`用于对象交换协议...

    基于蓝牙技术的远程终端单元人机接口的设计.pdf

    程序的核心是MyMIDlet,这是一个继承自`java.microedition.midlet.MIDlet`的类,它依赖于蓝牙核心包`javax.bluetooth`以及通用连接框架(General Connection Framework, GCF)包`javax.microedition.io`。...

Global site tag (gtag.js) - Google Analytics