-
弟刚接触J2ME想做个如下功能:应用MTK手机将照片通过GRPS 传到服务器上遇到的问题 20
现在遇到的问题是模拟器测试好用,可是拷到MTK手机上测试的时候。图片一致被占用。经过调试发现时在写文件的时候产生了阻塞。请各位帮忙看下。
客户端代码:
public class SaveFileClass extends Thread {
Displayable disp = null;
Display ds = null;
Displayable successDisp = null;
byte[] bimg = null;
OutputStream dos = null;
SocketConnection sc;
String ip="";
String port="";
public SaveFileClass(Display dis, Displayable backScreen,
Displayable successScreen, byte[] b,String ip,String port) {
ds = dis;
disp = backScreen;
successDisp = successScreen;
bimg = b;
this.ip=ip;
this.port=port;
}
public void run() {
try {
String url="socket://"+ip+":"+port;
System.out.println("url"+url);
sc = (SocketConnection) Connector.open(url);
dos = sc.openOutputStream();
dos.write(bimg);
dos.flush();
dos.close();
sc.close();
Alert altSuccess = new Alert("提示", " 发送成功!", null,AlertType.INFO);
altSuccess.setTimeout(2000);
ds.setCurrent(altSuccess, successDisp);
} catch (IOException ioe) {
Alert altSuccess = new Alert("提示", " 发送失败!", null,AlertType.ERROR);
altSuccess.setTimeout(2000);
ds.setCurrent(altSuccess, successDisp);
try {
dos.close();
sc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务器端
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.UUID;
public class NewMain {
public static void main(String[] args) {
ServerSocket server = null;
Socket socket = null;
try {
server = new ServerSocket(12345);
socket = server.accept();
new ReceiveImage(server, socket).start();
} catch (IOException e) {
try {
e.printStackTrace();
server.close();
socket.close();
} catch (IOException e1) {
socket=null;
server=null;
}
}
}
}
class ReceiveImage extends Thread {
Socket socket;
ServerSocket server;
public ReceiveImage(ServerSocket server, Socket socket) {
this.server = server;
this.socket = socket;
}
public void run() {
try {
try {
Thread.sleep(10000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("客户端已经连接上"+socket);
InputStream is = socket.getInputStream();
String name = UUID.randomUUID().toString();
System.out.println(name);
FileOutputStream os = new FileOutputStream("c://" + name+ ".jpg");
byte[] buffer = new byte[4096];
int size = 0;
do{
size=is.read(buffer);
if(size!=-1){
os.write(buffer, 0, size);
} //此处用MTK手机测试时候 在循环内处于阻塞(等待)状态。
}while(size!=-1);
os.flush();
os.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2011年2月11日 23:44
目前还没有答案
相关推荐
3. **系统集成**:将J2ME运行环境无缝集成到MTK系统中,使其能够作为一个完整的系统组件运作。 4. **功能模块开发**:设计和实现必要的功能模块,如应用程序管理器、用户界面引擎等,以支持J2ME应用程序的下载、安装...
开发者通常会将J2ME应用打包成jal文件,然后通过MTK平台的工具将其部署到目标设备上。文件名“jal”可能代表一个特定的J2ME应用或者库,它的具体功能和用途需要解压后查看源代码或相关文档才能明确。 在开发过程中...
在J2ME开发中,你将接触到以下几个关键概念: 1. **MIDlet**:这是J2ME中的应用程序单位,类似于Java SE中的JAR文件。一个MIDlet集合可以包含多个MIDlets和资源文件。 2. **用户界面**:J2ME使用WTK(Wireless ...
【标题】: "基于J2ME的手机应用软件的研究" 【描述】: 本文主要探讨了J2ME技术在手机应用软件开发中的应用,作为一篇学年论文,它深入研究了手机软件的发展现状、趋势以及J2ME的技术实现。 【标签】: "手机应用...
总的来说,这个J2ME手机应用项目开发实践的源代码是一个宝贵的教育资源,它可以帮助你学习J2ME编程基础,理解移动设备上的软件开发挑战,并提高你在实际项目中的解决问题的能力。通过研究和修改源代码,你将有机会...
本文将深入探讨如何在NetBeans集成开发环境中利用J2ME实现一个手机电话本功能。 首先,我们需要了解J2ME的基础架构。J2ME由配置(Configurations)和框架(Profiles)组成。配置定义了运行时环境的基本特性,而框架...
总的来说,“j2me手机浏览器”是J2ME平台上的一个关键应用,它在功能手机时代为移动用户提供了接入互联网的能力。随着智能手机和更强大的移动操作系统的发展,J2ME浏览器逐渐被取代,但它们在移动互联网发展的早期...
3. J2ME游戏移植人员:将游戏从一个平台迁移到另一个平台,需要了解平台差异和技术参数。 五、J2ME程序设计原则 1. 面向对象编程:提高代码可维护性和扩展性。 2. MVC模式:分离模型、视图和控制器,便于管理和扩展...
在本文中,我们将深入探讨如何在Java平台上,特别是在J2ME(Java Micro Edition)环境中,实现一个具有触屏按键功能的手机计算器应用。这个计算器应用允许用户通过触屏操作进行数学计算,提供了一种便捷的方式来处理...
综上所述,基于J2ME平台的手机应用程序开发涉及了从基础的J2ME架构理解,到具体的MIDP组件使用,再到开发工具的选择和应用发布流程。开发者需要掌握这些核心概念和技术,才能有效创建出能在多种手机平台上运行的高效...
《J2ME手机高级编程》涉及的是Java 2 Micro Edition(J2ME)在移动设备上的高级应用开发,尤其关注无线通信、游戏开发、电子地图浏览、播放器实现、持久化存储、移动商务应用以及XML模型的应用。这些主题涵盖了移动...
【J2ME手机基于服务器的网络象棋游戏源代码】是一种专门为移动设备设计的网络棋类游戏实现,它利用Java 2 Micro Edition (J2ME) 技术,让玩家能够在手机上与其他在线用户对战。J2ME是Java平台的一个轻量级版本,主要...
【J2ME手机蓝牙聊天系统】是一个利用Java 2 Micro Edition (J2ME) 技术实现的移动设备间通信的应用。J2ME是Java平台的一个子集,专门设计用于资源有限的嵌入式设备,如手机和PDA。在这个系统中,用户可以通过手机的...
J2ME在手机程序开发中的应用广泛,因为它允许开发者创建跨平台的应用,可以在多种不同类型的移动设备上运行。 **第二章:高级界面开发** 在J2ME中,高级界面开发涉及到创建用户友好的交互体验。这一章节可能涵盖了...
在这个特定的上下文中,我们讨论的是基于J2ME开发的手机游戏,这些游戏在功能手机时代非常流行,提供了各种各样的娱乐选择。 J2ME由两部分组成:K Virtual Machine (KVM) 和 Connected Limited Device ...
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,专门用于资源有限的设备,如早期的智能手机和功能手机。J2ME为移动设备提供了丰富的应用程序开发环境,尤其是在手机游戏领域,它曾经是开发手机游戏的主流...
这个压缩包文件“J2ME编写的一个手机存储功能.rar”显然是一个关于如何在J2ME平台上实现手机存储功能的示例项目。下面将详细探讨J2ME的存储机制以及可能涉及的关键知识点。 1. **J2ME存储系统概述**: - J2ME设备...
**手机J2ME程序编写教程** Java Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式...通过阅读"手机程序编写.pdf"和参考"说明.txt",你将能全面掌握J2ME编程的基础知识,进而创建出属于自己的手机应用程序。
J2ME手机应用项目开发实践.iso J2ME手机应用项目开发实践.iso
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...