基本信息
源码名称:android wifi 连接Demo
源码大小:0.63M
文件格式:.rar
开发语言:Java
更新时间:2016-03-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


package com.example.myihome;

import java.util.Timer;
import java.util.TimerTask;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.StrictMode;
/*import android.annotation.SuppressLint;
 */
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends Activity {

	Timer timer;
	TimerTask task;
	Handler handler;
	Button lamp, air, curtain, safe, leave, go, sleep;
	Intent intent;
	ImageButton safe1, safe2;

	/*
	 * @SuppressLint({ "NewApi", "NewApi", "NewApi", "NewApi", "NewApi",
	 * "NewApi", "NewApi", "NewApi", "NewApi", "NewApi", "NewApi", "NewApi" })
	 */public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

		/*
		 * StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
		 * .detectDiskReads() .detectDiskWrites() .detectNetwork() // or
		 * .detectAll() for all detectable problems .penaltyLog() .build());
		 * 
		 * StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
		 * .detectLeakedSqlLiteObjects()
		 * .detectLeakedClosableObjects().penaltyLog() .penaltyDeath()
		 * .build());
		 */
		lamp = (Button) findViewById(R.id.lamp);
		air = (Button) findViewById(R.id.air);
		curtain = (Button) findViewById(R.id.curtain);
		safe = (Button) findViewById(R.id.safebtn);
		leave = (Button) findViewById(R.id.leave);
		go = (Button) findViewById(R.id.go);
		sleep = (Button) findViewById(R.id.sleep);

		lamp.setOnClickListener(listener);
		air.setOnClickListener(listener);
		curtain.setOnClickListener(listener);
		safe.setOnClickListener(listener);
		leave.setOnClickListener(listener);
		go.setOnClickListener(listener);
		sleep.setOnClickListener(listener);

		safe1 = (ImageButton) findViewById(R.id.safe1);
		safe2 = (ImageButton) findViewById(R.id.safe2);

		// 两个buttond状态01GIO 返回数据IO= 00状态00

		timer = new Timer();
		task = new TimerTask() {

			public void run() {
				// TODO Auto-generated method stub
				MySocket socket = new MySocket("192.168.1.58", 6510);
				if (socket.connect()) {
					socket.sendMsg("01GIO");
					char ss[] = socket.recvMsg();
					socket.close();
					Message msg = new Message();
					msg.what = 1;
					System.out.println(new String(ss, 5, 2));
					msg.obj = new String(ss, 5, 2);
					handler.sendMessage(msg);
				} else {
					handler.sendEmptyMessage(0);
				}
			}
		};

		handler = new Handler() {

			public void handleMessage(Message msg) {
				// TODO Auto-generated method stub
				super.handleMessage(msg);
				if (msg.what == 0)
					Toast.makeText(MainActivity.this, "连接失败",
							Toast.LENGTH_SHORT).show();
				else {
					String data = (String) msg.obj;
					if (data.equals("00")) {
						safe1.setImageResource(R.drawable.nook);
						safe2.setImageResource(R.drawable.nook);
					} else if (data.equals("01")) {
						safe1.setImageResource(R.drawable.nook);
						safe2.setImageResource(R.drawable.ok);

					} else if (data.equals("10")) {
						safe1.setImageResource(R.drawable.ok);
						safe2.setImageResource(R.drawable.nook);

					} else if (data.equals("11")) {
						safe1.setImageResource(R.drawable.ok);
						safe2.setImageResource(R.drawable.ok);
					}

				}
			}

		};
		timer.schedule(task, 2000, 2000);

	}

	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		timer.cancel();
	}

	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
	}

	private OnClickListener listener = new OnClickListener() 
	{

		public void onClick(View v) {
			// TODO Auto-generated method stub

			switch (v.getId()) {
			case R.id.lamp:
				intent = new Intent(MainActivity.this, lamp.class);
				startActivity(intent);
				finish();
				break;
			case R.id.air:
				intent = new Intent(MainActivity.this, air.class);
				startActivity(intent);
				finish();
				break;
			case R.id.curtain:
				intent = new Intent(MainActivity.this, curtain.class);
				startActivity(intent);
				finish();
				break;
			case R.id.safebtn:
				intent = new Intent(MainActivity.this, safe.class);
				startActivity(intent);
				finish();
				break;
			case R.id.leave:
				// Send("01C11");
				// Send("01S11");
				timer.schedule(task, 2000, 2000);
				MySocket socket = new MySocket("192.168.1.58", 6510);// 创建socket,需要ip和端口号
				if (socket.connect()) {
					socket.sendMsg("01C11");

					socket.recvMsg();
					// socket.sendMsg("01S11");

					// socket.recvMsg();
					socket.close();

				} else {
					Toast.makeText(MainActivity.this, "连接超时",
							Toast.LENGTH_SHORT).show();
				}
				break;
			case R.id.go:
				timer.cancel();
				MySocket socket1 = new MySocket("192.168.1.58", 6510);// 创建socket,需要ip和端口号
				if (socket1.connect()) {
					socket1.sendMsg("01S11");
					socket1.recvMsg();
					socket1.sendMsg("0FC111");

					socket1.recvMsg();
					socket1.sendMsg("0FS100");

					socket1.recvMsg();
					socket1.close();
				} else {
					Toast.makeText(MainActivity.this, "连接超时",
							Toast.LENGTH_SHORT).show();
				}
				break;
			case R.id.sleep:

				timer.schedule(task, 2000, 2000);
				MySocket socket2 = new MySocket("192.168.1.58", 6510);// 创建socket,需要ip和端口号
				if (socket2.connect()) {
					socket2.sendMsg("01C11");
					socket2.recvMsg();
					socket2.sendMsg("0FC111");

					socket2.recvMsg();
					socket2.sendMsg("0FS010");

					socket2.recvMsg();
					socket2.close();

				} else {
					Toast.makeText(MainActivity.this, "连接超时",
							Toast.LENGTH_SHORT).show();
				}
				break;

			}
		}
	};

	private boolean Send(String args) {
		MySocket socket = new MySocket("192.168.1.56", 6510);// 创建socket,需要ip和端口号
		if (socket.connect()) {
			socket.sendMsg(args);

			socket.recvMsg();

			socket.close();

		} else {
			Toast.makeText(this, "连接超时", Toast.LENGTH_SHORT).show();
		}

		return false;
	}
}