- 浏览: 626037 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (448)
- 字符串相关 (16)
- Struts2页面显示 (15)
- Hibernate错误记录 (6)
- linux命令 (2)
- java项目测试 (5)
- 个人作品 (10)
- hibernate应用 (15)
- struts1 (7)
- 数据库(除了hibernate) (42)
- J2ME/WAP (37)
- servlet/jsp (49)
- java桌面应用+java综合 (14)
- 服务器配置,报错解决 (24)
- Myeclipse配置,抛错解决 (8)
- linux (18)
- JavaScript+jquery+ajax (45)
- div css 页面设计 (16)
- 互联网综合运营 (14)
- 编程工具类 (3)
- 论文 报告 文献 (14)
- PHP (26)
- struts2 (9)
- spring (1)
- 我的IT生活 (14)
- Resin (6)
- java项目记录 (14)
- https安全 (11)
- 支付技术 (3)
最新评论
-
yihaijunyxr:
很好呀,我好久没用iteye了,今天找出两个帐号(yihaij ...
c/c++的监听tmlisten启动缓慢解决 -
yihaijun:
好像这不算是技术博客,是工作博客
c/c++的监听tmlisten启动缓慢解决 -
ml365:
后来还优化了webservice的前置框架,不用cxf,用了另 ...
c/c++的监听tmlisten启动缓慢解决 -
Jayliuying:
有点晚哈 但是也支持一下 楼主
java相关论文的参考文献【转】 -
gqsunrise:
...
我是项目经理,我的项目管理日记【20120229】
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.ContentConnection;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
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.ImageItem;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* 在运行的TextBox输入框中输入一个图片的网址,下载到模拟器中
*
* 例如:在输入框中输入:www.baidu.com/img/logo.gif
*
* @author mao
*
*/
public class ViewImage extends MIDlet implements CommandListener {
private Display display;
private TextBox tbMain;
private Alert alStatus;
private Form fm;
private Command cmExit;
private Command cmView;
private Command cmBack;
private static final int ALERT_DISPLAY_TIME = 3000;
Image im = null;
public ViewImage() {
display = Display.getDisplay(this);
tbMain = new TextBox("输入图片地址:", "http://", 75, 0);
cmExit = new Command("退出", Command.EXIT, 1);
cmView = new Command("下载", Command.SCREEN, 2);
tbMain.addCommand(cmExit);
tbMain.addCommand(cmView);
tbMain.setCommandListener(this);
fm = new Form("");
cmBack = new Command("后退", Command.BACK, 1);
fm.addCommand(cmBack);
fm.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(tbMain);
}
public void commandAction(Command c, Displayable s) {
if (c == cmExit) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
} else if (c == cmView) {
showAlert("下载中...", false, tbMain);
Download dl = new Download(tbMain.getString(), this);
dl.start();
} else if (c == cmBack) {
display.setCurrent(tbMain);
}
}
public void showImage(boolean flag) {
if (flag == false)
showAlert("下载失败...", true, tbMain);
else {
ImageItem ii = new ImageItem(null, im, ImageItem.LAYOUT_DEFAULT,
null);
if (fm.size() != 0)
fm.set(0, ii);
else
fm.append(ii);
showAlert("下载成功", true, fm);
}
}
public void showAlert(String msg, boolean modal, Displayable displayable) {
alStatus = new Alert("状态", msg, null, AlertType.INFO);
if (modal)
alStatus.setTimeout(Alert.FOREVER);
else
alStatus.setTimeout(ALERT_DISPLAY_TIME);
display.setCurrent(alStatus, displayable);
}
}
class Download implements Runnable {
private String url;
private ViewImage Midlet;
private boolean downloadSuccess = false;
public Download(String url, ViewImage Midlet) {
this.url = url;
this.Midlet = Midlet;
}
public void run() {
try {
getImage(url);
} catch (Exception e) {
System.err.println("Msg : " + e.toString());
}
}
public void start() {
Thread thread = new Thread(this);
try {
thread.start();
} catch (Exception e) {
}
}
private void getImage(String url) throws IOException {
System.out.println();
System.out.println("this is the url : " + url);
ContentConnection connection = (ContentConnection) Connector.open(url);
System.out.println("connection : " + connection);
DataInputStream iStrm = connection.openDataInputStream();
System.out.println("iStrm: " + iStrm);
ByteArrayOutputStream bStrm = null;
Image im = null;
try {
byte imageData[];
int length = (int) connection.getLength();
if (length != -1) {
imageData = new byte[length];
iStrm.readFully(imageData);
} else {
bStrm = new ByteArrayOutputStream();
int ch;
while ((ch = iStrm.read()) != -1)
bStrm.write(ch);
imageData = bStrm.toByteArray();
}
im = Image.createImage(imageData , 0 , imageData.length);
} finally {
if (connection != null)
connection.close();
if (iStrm != null)
iStrm.close();
if (bStrm != null)
bStrm.close();
}
if (im == null)
Midlet.showImage(false);
else {
Midlet.im = im;
Midlet.showImage(true);
}
}
}
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.ContentConnection;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
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.ImageItem;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* 在运行的TextBox输入框中输入一个图片的网址,下载到模拟器中
*
* 例如:在输入框中输入:www.baidu.com/img/logo.gif
*
* @author mao
*
*/
public class ViewImage extends MIDlet implements CommandListener {
private Display display;
private TextBox tbMain;
private Alert alStatus;
private Form fm;
private Command cmExit;
private Command cmView;
private Command cmBack;
private static final int ALERT_DISPLAY_TIME = 3000;
Image im = null;
public ViewImage() {
display = Display.getDisplay(this);
tbMain = new TextBox("输入图片地址:", "http://", 75, 0);
cmExit = new Command("退出", Command.EXIT, 1);
cmView = new Command("下载", Command.SCREEN, 2);
tbMain.addCommand(cmExit);
tbMain.addCommand(cmView);
tbMain.setCommandListener(this);
fm = new Form("");
cmBack = new Command("后退", Command.BACK, 1);
fm.addCommand(cmBack);
fm.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(tbMain);
}
public void commandAction(Command c, Displayable s) {
if (c == cmExit) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
} else if (c == cmView) {
showAlert("下载中...", false, tbMain);
Download dl = new Download(tbMain.getString(), this);
dl.start();
} else if (c == cmBack) {
display.setCurrent(tbMain);
}
}
public void showImage(boolean flag) {
if (flag == false)
showAlert("下载失败...", true, tbMain);
else {
ImageItem ii = new ImageItem(null, im, ImageItem.LAYOUT_DEFAULT,
null);
if (fm.size() != 0)
fm.set(0, ii);
else
fm.append(ii);
showAlert("下载成功", true, fm);
}
}
public void showAlert(String msg, boolean modal, Displayable displayable) {
alStatus = new Alert("状态", msg, null, AlertType.INFO);
if (modal)
alStatus.setTimeout(Alert.FOREVER);
else
alStatus.setTimeout(ALERT_DISPLAY_TIME);
display.setCurrent(alStatus, displayable);
}
}
class Download implements Runnable {
private String url;
private ViewImage Midlet;
private boolean downloadSuccess = false;
public Download(String url, ViewImage Midlet) {
this.url = url;
this.Midlet = Midlet;
}
public void run() {
try {
getImage(url);
} catch (Exception e) {
System.err.println("Msg : " + e.toString());
}
}
public void start() {
Thread thread = new Thread(this);
try {
thread.start();
} catch (Exception e) {
}
}
private void getImage(String url) throws IOException {
System.out.println();
System.out.println("this is the url : " + url);
ContentConnection connection = (ContentConnection) Connector.open(url);
System.out.println("connection : " + connection);
DataInputStream iStrm = connection.openDataInputStream();
System.out.println("iStrm: " + iStrm);
ByteArrayOutputStream bStrm = null;
Image im = null;
try {
byte imageData[];
int length = (int) connection.getLength();
if (length != -1) {
imageData = new byte[length];
iStrm.readFully(imageData);
} else {
bStrm = new ByteArrayOutputStream();
int ch;
while ((ch = iStrm.read()) != -1)
bStrm.write(ch);
imageData = bStrm.toByteArray();
}
im = Image.createImage(imageData , 0 , imageData.length);
} finally {
if (connection != null)
connection.close();
if (iStrm != null)
iStrm.close();
if (bStrm != null)
bStrm.close();
}
if (im == null)
Midlet.showImage(false);
else {
Midlet.im = im;
Midlet.showImage(true);
}
}
}
http://www.java-cn.com/club/html/63/n-163-3.htmlj2me最佳联网方案终结版
用 J2ME 进行联网用 J2ME 进行联网http://www.ibm.com/developerworks/cn/java/wi-jio/
发表评论
-
什么是WAP网关?
2011-10-17 17:09 10151. 什么是WAP网关? WA ... -
判断用户通过手机访问wap还是电脑直接访问
2011-10-17 16:29 1989首先说最根本的解决 ... -
wap的全面解析!!
2011-10-17 16:29 18121. 开发WAP软件需要哪 ... -
j2me library failed to get library information[转]
2010-12-11 21:59 1163出現過類似問題,我是每次都用的run as...->ru ... -
j2me联网时候对于代理问题可能会出现的错误【转】
2010-12-11 11:30 775众所周知,CMWAP是一个网关,同时又是一个代理服务器,我 ... -
在无线J2ME设备上实现超文本传输协议【转】
2010-12-11 11:27 758随着越来越多手提电 ... -
J2ME使用Socket通过cmwap接入点访问安全HTTPS 2【转】
2010-12-11 11:26 1260新建一个Midp应用程序,在startApp中加入以下代码: ... -
J2ME使用Socket通过cmwap接入点访问安全HTTPS1 【转】
2010-12-11 11:25 1401这个问题是在我升级J2ME版XHTML浏览器的时候被引入的,我 ... -
wml教程 中文手册
2010-12-11 01:02 903http://www.g168.net/txt/wml/ ... -
j2me结合j2ee实现用户登陆功能-2【转】
2010-12-11 00:41 948服务器代码:LoginServlet:package co ... -
j2me结合j2ee实现用户登陆功能【转】
2010-12-11 00:40 847手机客户端代码:LoginForm:package com ... -
独立WAP交友网站趋势分析
2010-12-10 19:28 975从互联网开始,交友网 ... -
什么是WAP?wap技术简介(转)
2010-12-10 19:25 974程序员都在讨论Wireless(无线)技术,也就是常说到的WA ... -
j2me游戏开发:控制飞机移动(转)
2010-12-10 19:01 9121. 飞机plane是一个标准的plane。由三桢画面组成,: ... -
j2me游戏开发:工具类的完善(转)
2010-12-10 19:00 934虽然我们有了midp2.0的支持,但是有时还是需要一些辅助工具 ... -
J2ME程序教程,程序+讲解,很好的入门教程(转载) 【2】
2010-12-10 18:59 723J2ME RPG游戏边学边做(二) 1、public vo ... -
J2ME程序教程,程序+讲解,很好的入门教程(转载) 【1】
2010-12-10 18:58 1120J2ME RPG游戏边学边做(一) 笔者以前是做j2ee的 ... -
J2ME内存优化(转载)
2010-12-10 18:58 873Out momory 一阵天旋地转 ... -
PngMate使用教程2(转)
2010-12-10 18:57 863下面我们来换一张图片,街头霸王Ken,这张gif的帧数比较多, ... -
PngMate使用教程1(转)
2010-12-10 18:56 1311PngMate使用教程 JAVA手机网[www.cnjm.n ...
相关推荐
总的来说,J2ME无线编程是将Java技术应用于移动设备和嵌入式系统的专业领域,它涉及Java基础知识、J2ME架构、MIDP和CLDC、UI设计、网络编程以及性能优化等多个方面。通过深入学习和实践,开发者可以创建出跨平台、...
本章将深入探讨J2ME中的联网技术,特别是通用连接框架(Generic Connection Framework, GCF)。 ### 10.1 J2ME联网技术简介 在Java Standard Edition (J2SE)中,我们通常使用`java.net`和`java.io`包中的类来处理...
发无线联网应用程序时,和以往有很大不同。 第八章“MIDP 2.0 安全体系结构” 将主要介绍MIDP 的安全体系模型,并结合一个具体的 实例来讲述MIDP2.0 安全模型的主要概念。 第九章“MIDP 2.0 Push 技术”介绍了如何...
HttpConnection和Socket类支持HTTP和TCP/IP连接,使得开发者可以构建联网应用。而无线消息接口(Wireless Messaging API, WMA)则允许发送和接收SMS和MMS消息。 **文件系统访问**在J2ME中通常受限,但依然可以通过...
这要求我们在开发无线联网应用程序时,和以往有很大不同。 第八章“MIDP 2.0安全体系结构” 将主要介绍MIDP的安全体系模型,并结合一个具体的实例来讲述MIDP2.0安全模型的主要概念。 第九章“MIDP 2.0 Push ...
在这个项目中,开发者使用了J2ME的无线应用协议(WAP)和移动信息设备描述(MIDP)来创建用户界面和处理网络通信。WAP使得移动设备能够通过无线网络访问互联网服务,而MIDP则为开发移动应用程序提供了API和框架。 ...
发无线联网应用程序时,和以往有很大不同。 第八章“MIDP 2.0 安全体系结构” 将主要介绍MIDP 的安全体系模型,并结合一个具体的 实例来讲述MIDP2.0 安全模型的主要概念。 第九章“MIDP 2.0 Push 技术”介绍了如何...
蓝牙联网功能的实现则需要利用J2ME中的JSR-82(Java Bluetooth API),它提供了在设备之间建立无线连接的接口。开发者需要创建BluetoothServerSocket和BluetoothSocket来监听和建立连接,然后通过输入/输出流进行...
这要求我们在开发无线联网应用程序时,和以往有很大不同。 第八章“MIDP 2.0安全体系结构” 将主要介绍MIDP的安全体系模型,并结合一个具体的实例来讲述MIDP2.0安全模型的主要概念。 第九章“MIDP 2.0 Push ...
本文主要探讨了J2ME MIDP(Mobile Information Device Profile)在移动通信技术中的应用。J2ME(Java 2 Micro Edition)是一种专门为小型设备如手机和嵌入式系统设计的Java平台。MIDP是J2ME的一部分,用于开发移动...
- J2ME支持HTTP和WAP协议,使得应用程序可以访问网络资源,这对于创建联网应用或下载更新内容至关重要。 5. **文件系统** - J2ME提供了RecordStore API用于在设备上存储小量的数据,这对于保存用户设置或游戏进度...
部署方式有无线下载(OTA,Over-The-Air)和通过PC连接设备进行安装。 **9. 模拟器与设备测试** 在实际开发过程中,除了使用WTK模拟器进行初步测试外,最终还需要在目标设备上进行真机测试,以确保应用在不同设备上...
6. **网络编程**:J2ME支持HTTP和WAP协议,可以进行网络通信,实现数据的下载和上传,这对于构建联网应用至关重要。 7. **文件系统操作**:J2ME提供了对设备本地文件系统的访问接口,开发者需要了解如何保存和读取...
在手机游戏开发中,通常使用MIDP(Mobile Information Device Profile)作为基础规范,它包含了开发移动应用所需的基本组件,如用户界面、数据存储和网络连接等。为了开发,你需要安装支持MIDP的J2ME SDK,例如Sun ...
J2ME提供了JSR 82(Java API for Bluetooth Wireless Technology)和JSR 118(Java APIs for HTTP-based Client-Side Applications)等API,支持无线设备间的通信和HTTP请求,使得开发者可以创建能联网的游戏或应用...
J2ME应用可以通过无线下载(OTA,Over The Air)或USB连接部署到设备上。 **九、优化与性能** 由于J2ME运行在资源有限的设备上,优化代码以降低内存消耗和提高执行效率是必要的。这包括合理使用对象池、避免内存...
在J2ME中,尽管MIDP 2.0标准并未包含蓝牙API,但许多手机厂商如Nokia已经在他们的设备上实现了JSR82,使得开发者可以创建跨设备的蓝牙连接应用。例如,Nokia 6600、Nokia 6670和Nokia 7610等型号的手机都支持这一...
MIDP包含对CLDC中的GCF(Generic Connection Framework),即通用连接框架的支持,MIDP规范只是要区分必须实现HTTP的连接。如果想开发的是基于无线网络的高性能的多人联网游戏,这非常值得考虑应用。目前的情况是,...
学习者将学习如何创建客户端和服务器端的Socket连接,发送和接收数据,这对于开发联网应用至关重要。 7. **3D图形生成技术**:虽然J2ME的3D支持相对有限,但依然可以利用一些库和技巧创建简单的3D效果。这部分可能...