2024年3月27日发(作者:)

手机客户端的程序:

package e;

import putStream;

import ; //提供帮助网络访问的类

import ty;

import ; //cs是底层的图形库

import Factory;

import ;

import ;

import ; //提供了系统服务、消息传输和

IPC 机制

import eHolder; //提供基础的用户界面接口

框架

import eView;

import ;

import ;

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

使用

import xt;

public class MainActivity extends Activity

{ Canvas canvas ;

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

SurfaceView v=null;

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

Surface,Surfaceview控制这个Surface的绘制位置*/

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

protected static final int COMPLETED = 0;

private Bitmap bmp=null; //Bitmap是Android系统中的图像处理的最重要类之

private Button mButton1; //定义按钮

@Override

protected void onCreate(Bundle savedInstanceState)

{

setContentView(ty_main);

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

示界面,

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

te(savedInstanceState);

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

复上

次退出的状态

mButton1 =(Button) findViewById(on1); //定义按钮

v=(SurfaceView) ewById(_Surface); //定义显示控件

holder=der(); //得到显示的句柄

lickListener(new kListener() //链接按钮监听

事件

{

@Override

public void onClick(View v)

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

(); //启动线程进行socket通信

}

});

}

class qaz implements Runnable

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

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

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

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

{

Socket client=null; //创建套接字

String IP; //定义字符串

int port; //定义端口

Text22 = (EditText) findViewById(2); //可编辑文本窗

Text33 = (EditText) findViewById(3); //可编辑文本窗

IP = t().toString(); //获取服务器端ip地址

port=nt(t().toString()); //获取服务器端端口

Canvas canvas ; //创建画布

DataInputStream dataInput=null; //创建输入数据流

try //建立socket实现通信

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

dataInput = new DataInputStream(utStream());

//建立输入流对象

int size = t(); //读取图片大小信息

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

int len = 0;

while (len < size)

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

len += (data, len, size - len);

}

bmp = ByteArray(data, 0, ; //对数据进行

解码

canvas = nvas(r); //获取画布

tmap(bmp, 0,0, null); //绘制在画布上

CanvasAndPost(canvas);//刷新至屏幕

(); //关闭socket数据流

(); //关闭socket链接

}

catch(Exception e) {

}

}

}//捕获异常