视频监控手机端源代码

2022-07-14 21:10:18   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《视频监控手机端源代码》,欢迎阅读!
视频监控,源代码,手机


手机客户端的程序:

package com.example.receive; import java.io.DataInputStream;

import java.net.Socket; //android.net提供帮助网络访问的类 import android.app.Activity;

import android.graphics.Bitmap; //android.graphics是底层的图形库 import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Rect;

import android.os.Bundle; //android.os提供了系统服务、消息传输和IPC 机制 import android.view.SurfaceHolder; //android.view提供基础的用户界面接口框架 import android.view.SurfaceView; import android.view.View; import android.widget.Button;

//android.widget包含各种 UI 元素(大部分是可见的)在应用程序的屏幕中使

import android.widget.EditText;

public class MainActivity extends Activity { Canvas canvas ;

Rect r = new Rect(10, 50, 30, 25); //定义画布大小 SurfaceView v=null;

/*SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的 Surface,Surfaceview控制这个Surface的绘制位置*/

@Override

protected void onCreate(Bundle savedInstanceState) {

setContentView(R.layout.activity_main);

SurfaceHolder holder; //通过SurfaceHolder接口访问这个surface

protected static final int COMPLETED = 0;

private Bitmap bmp=null; //BitmapAndroid系统中的图像处理的最重要类之一 private Button mButton1; //定义按钮

/*setContentView()设置当前的视图(View ,也就是设置一个Activity的显示界,

使用一个布局文件来控制各种控件的摆放和显示*/



super.onCreate(savedInstanceState);

//onCreate时候,会传入一个变量,里面包含上次退出的信息,这里面可以恢复

次退出的状态



mButton1 =(Button) findViewById(R.id.myButton1); //定义按钮








v=(SurfaceView) this.findViewById(R.id.View_Surface); //定义显示控件 holder=v.getHolder(); {

@Override

public void onClick(View v)

{ Thread thread=new Thread (new qaz()); //新建线程

thread.start(); //启动线程进行socket通信 };



//得到显示的句柄

mButton1.setOnClickListener(new Button.OnClickListener() //链接按钮监听事件

} }

class qaz implements Runnable

{ //另起线程,进行socket建立网络罗操作

public void run() //run()方法实现socket建立与断开功能

{



Socket client=null; //创建套接字 String IP; //定义字符串 int port; //定义端口

Text22 = (EditText) findViewById(R.id.Text2); //可编辑文本窗 Text33 = (EditText) findViewById(R.id.Text3); //可编辑文本窗 IP = Text22.getText().toString(); //获取服务器端ip地址

port=Integer.parseInt(Text33.getText().toString()); //获取服务器端端口 Canvas canvas ; //创建画布

DataInputStream dataInput=null; //创建输入数据流 try //建立socket实现通信

{ client = new Socket(IP, port); //在指定IP和端口上建立socket套接字







private EditText Text22; //定义可编辑文本窗 private EditText Text33; //定义可编辑文本窗

dataInput = new DataInputStream(client.getInputStream());



int size = dataInput.readInt(); //读取图片大小信息

//建立输入流对象

byte[] data = new byte[size]; //创建图片数据存储数组

int len = 0; while (len < size)

len += dataInput.read(data, len, size - len); }

bmp = BitmapFactory.decodeByteArray(data, 0, data.length; //对数据进行解码 canvas = holder.lockCanvas(r); //获取画布 canvas.drawBitmap(bmp, 0,0, null); //绘制在画布上

{ //将输入流得到的图片数据存储在data数组

holder.unlockCanvasAndPost(canvas)//刷新至屏幕










dataInput.close(); //关闭socket数据流 client.close(); //关闭socket链接 }

catch(Exception e) { }//捕获异常



} }




本文来源:https://www.wddqxz.cn/450d0d3c0408763231126edb6f1aff00bfd570fd.html

相关推荐