`
wanchong998
  • 浏览: 235599 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

J2ME 图片下载实例 简洁明了

    博客分类:
  • J2me
阅读更多
package com.wanchong;
/**
* 作者:万冲
* QQ:569845790
* Mail:wanchong998@qq.com
*/
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class DMIDlet extends MIDlet{

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

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

}

protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
Display.getDisplay(this).setCurrent(new DCanvas());
}

}



package com.wanchong;
/**
* 作者:万冲
* QQ:569845790
* Mail:wanchong998@qq.com
*/
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class DCanvas extends Canvas implements Runnable{



Image image;

public DCanvas()
{
setFullScreenMode(true);
repaint();
//启动下载线程
new Thread(this).start();
}


protected void paint(Graphics g) {
// TODO Auto-generated method stub
g.setColor(0x0);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0xff0000);
g.drawString("正在下载中....", 0, 0, 0);
if(image != null)
{
g.drawImage(image, 0, 0, 0);
}
}


public void run() {
// TODO Auto-generated method stub
try {
connect();
} catch (Exception e) {
e.printStackTrace();
}

}

//String url = "http://www.hao123.com/images/logox3.gif";
String url = "http://www.sincol.net/uploads/allimg/2009-08/05162349-1-32N02.png";
public void connect() throws Exception
{
HttpConnection http = null;
InputStream is = null;
OutputStream os = null;
byte[] data = null;
try
{
http = getHttpConnection(url);

int code = http.getResponseCode();
// 返回200 表示连接成功
if (code == HttpConnection.HTTP_OK)
{
is = http.openInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int ch = -1;
while ((ch = is.read()) != -1) {
baos.write(ch);
System.out.println(ch);
}
data = baos.toByteArray();

}
else
{
System.out.println("网络连接错误");
}
//下载图片数据完成后创建图片
if(data != null)
{
image = Image.createImage(data, 0, data.length);
repaint();
}

}
finally
{
if(os != null)
{
os.close();
os = null;
}

if(is != null)
{
is.close();
is = null;
}
if(http != null)
{
http.close();
http = null;
}
}
}


/**
* 取得一个URL的连接
* @param url
* @return
* @throws Exception
*/
private HttpConnection getHttpConnection(String url) throws Exception
{
HttpConnection http = (HttpConnection) Connector.open(url);
http.setRequestProperty("Content-Type", "application/octet-stream");//get
http.setRequestMethod(HttpConnection.GET);

return http;
}

}
分享到:
评论

相关推荐

    J2ME程序设计实例教程实例源码

    **J2ME程序设计概述** Java 2 Micro Edition(J2ME)是Java...总之,《J2ME程序设计实例教程》的实例源码为学习J2ME编程提供了丰富的实践材料,通过这些实例,开发者可以快速提升技能,掌握移动应用开发的核心技术。

    J2ME程序设计实例

    **J2ME程序设计实例详解** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门针对嵌入式设备和移动设备的应用开发。它提供了轻量级的运行环境和开发框架,使得开发者可以为手机、智能手表、家用电器...

    j2me游戏开发实例

    **J2ME游戏开发实例详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专门用于开发在移动设备和嵌入式设备上的应用程序,包括游戏。本资源包含多个J2ME游戏的源代码,对于学习J2ME游戏开发的初学者来说,...

    J2ME程序设计实例教程

    **J2ME程序设计实例教程概述** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的嵌入式设备和移动设备设计,如手机、智能手表和家用电器等。本教程《J2ME程序设计实例教程》由杨光编写,旨在通过...

    J2ME游戏开发实例讲解

    《J2ME游戏开发实例讲解》 J2ME(Java 2 Micro Edition)是一种轻量级的Java平台,主要用于移动设备和嵌入式系统。在本文中,我们将深入探讨如何利用J2ME进行游戏开发,以华容道游戏为例,展示从项目规划到最终实现...

    J2ME 电话本实例

    在这个"J2ME 电话本实例"中,我们看到一个基本的电话簿应用的实现,它包含了创建、读取、更新和删除(CRUD)联系人的功能。这样的应用对于初学者来说是了解J2ME编程和移动应用开发的良好起点。 首先,J2ME的架构...

    J2ME程序实例教程

    J2ME程序设计实例教程

    j2me应用小实例j2me_pro

    **J2ME应用小实例——深入理解J2ME_pro** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式系统和移动设备,如手机、PDA等。J2ME_pro是针对这个平台的一系列实践教程,旨在帮助开发者深入...

    经典j2me游戏实例

    - **资源管理**: 在J2ME中,由于资源有限,有效的图片、音频等资源管理至关重要,包括预加载、复用和及时释放。 通过深入理解这些文件和概念,开发者可以逐步掌握J2ME游戏开发的基本技能,从而创作出自己的移动游戏...

    J2ME程序设计实例教程源代码

    《J2ME程序设计实例教程源代码》是一个深入学习Java Micro Edition(J2ME)编程的重要资源,包含了一系列完整的实例代码。J2ME是Java平台的一个子集,主要用于嵌入式设备、移动设备和物联网设备的开发,如手机、智能...

    SUN公司的一些J2ME简单游戏实例

    《SUN公司J2ME简单游戏实例:探索移动平台的游戏开发》 J2ME,全称为Java 2 Micro Edition,是Java技术在嵌入式设备和移动设备上的应用平台,尤其在早期智能手机和平板电脑中广泛应用。SUN公司,即现在的Oracle公司...

    经典→j2me游戏开发实例讲解

    本篇将深入探讨J2ME游戏开发的经典实例,揭示其核心技术和设计思路。 一、J2ME概述 J2ME由两部分构成:配置(Configurations)和 profiles(Profile)。配置定义了硬件和软件的基本能力,如 Connected Limited ...

    j2me经典开发实例

    **J2ME经典开发实例详解** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门设计用于移动设备、嵌入式系统和其他有限资源的计算平台。本实例集合将带你深入学习J2ME的开发过程,是Java开发者在移动...

    j2me射击游戏实例

    《j2me射击游戏实例》是一款专为学习者设计的手机游戏,旨在帮助开发者了解和掌握J2ME(Java 2 Micro Edition)平台上的游戏开发技术。J2ME是Java平台的一个子集,主要用于嵌入式设备,如早期的智能手机和平板电脑,...

    J2ME文件操作实例源代码

    J2ME文件操作实例源代码提供了一种学习如何在资源有限的移动设备上处理文件的方法。以下将详细介绍J2ME中进行文件操作的相关知识点。 1. **J2ME的文件系统** J2ME的文件系统通常基于Connected Limited Device ...

    J2ME中3D实例讲义.rar

    《J2ME中3D实例讲义》是一份详尽的教程资料,旨在帮助开发者深入理解和实践在Java 2 Micro Edition (J2ME)平台上构建3D图形应用。J2ME是Java为移动设备和嵌入式设备设计的一个轻量级开发平台,尽管资源有限,但通过...

    J2ME游戏开发实例

    这个压缩包文件包含了J2ME游戏开发的实例,意味着它可能包括源代码、设计文档、调试信息以及相关的教程资源。下面,我们将深入探讨J2ME游戏开发中的关键知识点。 1. **J2ME架构**:J2ME由配置(Configurations)和 ...

    J2ME程序设计实例教程源码

    **J2ME程序设计实例教程源码详解** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式系统和移动设备,如手机、智能家电等。本教程源码提供了深入理解J2ME编程的实际案例,帮助开发者掌握在小型...

Global site tag (gtag.js) - Google Analytics