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. */@Overridepublic 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() {@Overridepublic 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);};};}

更多相关文章

  1. android_常用UI控件_02_EditText_01添加图片到edittext中
  2. Android 图片点击 全屏缩放预览
  3. Android富文本图文混排、粗体、斜体、图片、下划线、删除线等
  4. Android读取服务端TXT(JSON格式数据)返回汉字乱码的问题
  5. android调用系统(相机)的图片,并且返回
  6. Android之十三图片2D翻转
  7. Android 编程下背景图片适配工具类

随机推荐

  1. 以Android(安卓)Studio讲解Gradle在Andro
  2. Ubuntu下Android(安卓)Studio Gradle syn
  3. 【android】view.getRootView()的真正含
  4. 在Android中实现RN的自定义Native Modeul
  5. Android(安卓)Gradle 使用技巧
  6. python专项测试——Android(安卓)App自动
  7. 20189200余超 2018-2019-2 移动平台应用
  8. Android红外线遥控
  9. Android(安卓)ListView+CheckBox实现全选
  10. Android(安卓)Studio升级后编辑local pat