`
huzhenyu
  • 浏览: 191823 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

PC客户端与Android实现图片传送

 
阅读更多
PC服务端,用于发送图片
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;


public class Server {
	public static void main(String[] args) {
		try {
			ServerSocket server = new ServerSocket();
			server.bind(new InetSocketAddress(33336));
			Socket socket = server.accept();
			//socket.getInetAddress();
			DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
			FileInputStream fis = new FileInputStream("E:/workspace/android/Server/test.png");
			int size = fis.available();
			byte[] data = new byte[size];
			fis.read(data);
			dos.writeInt(size);
			dos.write(data);
			dos.flush();
			dos.close();
			fis.close();
			socket.close();
			server.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


Android客户端用于接收图片并展示
package com.tw;

import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class TestActivity extends Activity {

	private ImageView imageView = null;
	private Bitmap bmp = null;
	
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		imageView = (ImageView) findViewById(R.id.imageView1);
		Button btn = (Button) findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {

				Thread t = new Thread() {
					@Override
					public void run() {
						super.run();
						Socket socket = null;
						try {
							socket = new Socket("192.168.102.67", 33336);
							DataInputStream dataInput = new DataInputStream(
									socket.getInputStream());
							int size = dataInput.readInt();
							byte[] data = new byte[size];
							// dataInput.readFully(data);
							int len = 0;
							while (len < size) {
								len += dataInput.read(data, len, size - len);
							}

							ByteArrayOutputStream outPut = new ByteArrayOutputStream();
							bmp = BitmapFactory.decodeByteArray(data, 0,
									data.length);
							bmp.compress(CompressFormat.PNG, 100, outPut);
							//imageView.setImageBitmap(bmp);
							myHandler.obtainMessage().sendToTarget();
						} catch (IOException e) {
							e.printStackTrace();
						} finally {
							try {
								socket.close();
							} catch (IOException e) {
								e.printStackTrace();
							}
						}
					}
				};
				t.start();
			}
		});
	}
	
	private Handler myHandler = new Handler(){
		public void handleMessage(android.os.Message msg) {
			imageView.setImageBitmap(bmp);
		};
	};

}
分享到:
评论
2 楼 LXX516 2014-05-10  
LXX516 写道
你好,运行时出现如下问题:

E/Trace(15019): error opening trace file: No such file or directory (2)

E/PhonePolicy(15019): Could not preload class for phone policy: com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback
请问,怎么解决


不好意思,我忘了改IP地址了,对的没问题。
1 楼 LXX516 2014-05-10  
你好,运行时出现如下问题:

E/Trace(15019): error opening trace file: No such file or directory (2)

E/PhonePolicy(15019): Could not preload class for phone policy: com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback
请问,怎么解决

相关推荐

    2024最新仿默往IM即时通讯系统源码(PC+WEB+IOS+Android)客户端(大小2.4G)网盘链接提取码下载.txt

    - 平台支持:PC端、WEB端、iOS端、Android端 - 源码大小:2.4G - 网盘链接与提取码:文件中提供了用于下载源码的网盘链接和提取码 2. 系统功能特点: - 灵活的配置:功能可自定义配置以满足不同用户需求 - ...

    基于ZigBee与Android的边境安防系统研究.pdf

    通过3G网络,系统能将图像数据实时传送到服务器,PC端的客户端软件可随时查看和分析这些图像,从而实现远程监控。 5. 硬件设计与软件实现 硬件设计包括ZigBee节点的电路设计、震动传感器与CMOS传感器的集成以及ARM...

    AirFile:通过pc浏览器向android手机传送文件

    PC端用户通过浏览器访问Android设备上的HTTP服务器地址,实现文件的上传。浏览器支持HTTP协议,因此可以直接与运行在Android设备上的HTTP服务器通信。用户只需在浏览器的URL栏输入设备的IP地址和指定端口号,即可...

    基于Android智能手机多媒体远程视频监控系统的设计.pdf

    Android客户端负责实现用户界面与远程监控的交互,通过网络与服务器端进行数据交换。服务器端负责视频数据的接收、处理与存储,并响应客户端的请求。此外,系统的设计还体现了模块化与可重用性的设计理念,以便于...

    基于Android的精密导线内外业一体化系统研究.pdf

    系统通过Android平台开发的外业数据采集软件和基于PC的内业数据处理软件,实现了从数据采集到处理再到资料归档的全生命周期管理。 Android作为一种开源的移动操作系统,由于其开放性,已成为移动终端市场中的主流...

    仿qq通讯应用程序.zip

    GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端、android移动端)、服务端、数据库。 (01)注册、登录、查找用户、添加好友、好友列表。 (02)自拍头像。 (03)...

    基于Android手机的无线视频监控.pdf

    为了实现手机与监控端(通常是PC)之间的通信,系统依赖于Wi-Fi局域网连接,并基于IP地址和端口的socket通信协议。只要手机和监控设备在同一Wi-Fi网络环境下,就能实现数据传输。 在Android客户端,通过实现Camera....

    基于Android的物联型异步串行通信系统设计.pdf

    该系统设计方案可以应用于实验教学中,帮助学生掌握如何使用Android客户端进行数据的发送,以及如何在单片机中使用WiFi模块和异步串行通信进行数据传输。学生还可以通过这个实验学习到如何利用TCP Socket通信和网络...

    精通ANDROID 3(中文版)1/2

    1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 Android UI  1.5.3 Android基础...

    精通Android 3 (中文版)2/2

    1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 Android UI  1.5.3 Android基础...

    idtcpserver文件传输xe7PC端及手机端

    PC端的实现可能涉及多线程技术,以同时处理多个文件传输请求,提高整体性能。此外,为了确保数据安全,该工具可能支持加密传输,如SSL/TLS,以保护文件在传输过程中不被窃取或篡改。 手机端的应用(通常适用于...

    GG即时通讯系统GGTalk

    GG即时通讯系统GGTalk,包括客户端、服务端、数据库,可在广域网部署使用。支持:文字/语音/视频聊天,文件传送,离线文件,离线消息,视频会议,性能稳定,绝不是一个玩具或demo。 GG即时通讯系统GGTalk 6.2 部署...

    gg2014即时聊天

    GG是QQ的高仿版,包括客户端(PC客户端、android移动端)、服务端、数据库,可在广域网部署使用。我想写一个类似汇总的文章,通过这篇文章,大家可以了解到GG的全貌和最新进展,以及关于一些常见问题的解答也汇总在...

    智能移动终端的数据监控系统的解决方案.pdf

    传统的数据监控系统通常依赖于专用设备,如安捷伦DSO9000和日本BITS的HM-2G,这些设备虽然性能强大,但便携性差、成本高昂,且需通过USB或WiFi等连接方式与PC配合使用。然而,随着Android智能移动终端的普及,一种新...

    C# 可在广域网部署运行的即时通讯系统GGTalk-V6.0

    GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端、android移动端)、服务端、数据库。 开发环境及GGTalk即时通讯源码说明: 服务端和PC端 :VS2010 ,开发语言:C#, ...

    手机上通过WiFi无线播放电脑上的海量高清电影视频.pdf

    Air Playit 无线视频流媒体应用知识点总结 ...Air Playit 的使用需要你在电脑上安装服务器端(支持 Windows 与 Mac),然后再在移动设备上安装客户端(支持 iOS 与 Android),目前它们均是免费软件!

    c# GGTalk-6.2.7z

    GG即时通讯系统GGTalk,包括客户端、服务端、数据库,可在广域网部署使用。支持:文字/语音/视频聊天,文件传送,离线文件,离线消息,视频会议,性能稳定,绝不是一个玩具或demo。 GG即时通讯系统GGTalk 6.2 源码...

    EasyDSS互联网视频云服务在无人机巡查秸秆焚烧场景中的应用.docx

    客户端支持全平台(Windows、Android、iOS、H5),通过EasyDSS提供的HTTP服务接口和EasyPlayer播放器实现视频直播播放和录像回放等功能。 **特点:** - **轻量高效**:采用优秀的流媒体框架设计,运行轻量、高效、...

Global site tag (gtag.js) - Google Analytics