前些天实现了简单字符的与电脑的传输,今天写写从电脑本地读取一张照片,然后传输给app,利用android bitmap在界面上显示出来

首先是电脑上的服务器端:

try {              ServerSocket server = new ServerSocket(30002);            Socket socket = server.accept();              DataOutputStream dos = new DataOutputStream(socket.getOutputStream());              FileInputStream fis = new FileInputStream("D:/01.jpg");              int size = fis.available();            System.out.println("size = "+size);            byte[] data = new byte[size];                fis.read(data);            dos.write(data);              dos.flush();              dos.close();              fis.close();              socket.close();              server.close();          } catch (IOException e) {              e.printStackTrace();          }  
然后是客户端,注意在新线程中不能修改主线程中的界面,所以只能利用bundle发信号是主界面上的图片改变,网上好多版本,均有一些问题,以下是我自己想得觉得最简洁的写法了:

新建一个handler对象,接收子线程信号:

 Handler myh=new Handler (){        @Override        public void handleMessage(Message m){            if (m.what == 0x1233){                imageView.setImageBitmap(bmp);<span style="white-space:pre"></span>//修改图片            }        }    };
下面是按钮的触发:

btn.setOnClickListener(new OnClickListener() {          public void onClick(View v) {             new Thread() {             @Override             public void run() {                  try {                      Socket socket = new Socket("192.168.23.1", 30002);                       InputStream is=socket.getInputStream();                       bmp = BitmapFactory.decodeStream(is);                       myh.sendEmptyMessage(0x1233);<span style="white-space:pre"></span>//向子线程发送命令                       socket.close();                   } catch (IOException e) {                       e.printStackTrace();                   }                }             }.start();
}

虽然很简单但是自己也研究了好久,下一步是争取读视频,慢慢来。。。

更多相关文章

  1. android下的异步任务
  2. Android中的Handler总结(转帖)
  3. Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+Vie
  4. Android(安卓)NDK 线程回调Java层方法
  5. AOSP和Chromium的Android(安卓)WebViewTest
  6. Android(安卓)Chromium for WebView代码结构
  7. audio的输出设备切换分析
  8. okhttp3的基本使用
  9. Android(安卓)Handler的使用yu应该注意的问题

随机推荐

  1. Android(安卓)UI开发详解之Fragment
  2. 通过JNI实现c/c++和Android的java层函数
  3. Android屏幕禁止休眠的方法
  4. android笔记-android基本操作和数据存储
  5. Android 用Shell命令设置静态ip
  6. Android 相对布局(Relative Layout)
  7. 研究一下Android中的动画效果
  8. Android(安卓)ADB超简单的安装方法
  9. android 界面布局 很好的一篇总结
  10. 通过ua检测浏览页面的设备是phone还是tab