Upload files to ''
This commit is contained in:
parent
7ed2e56ae9
commit
2fa76596eb
|
|
@ -0,0 +1,154 @@
|
|||
package com.example.ironi.udp_switches;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.InetAddress;
|
||||
import java.net.SocketException;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
public class MainActivity extends Activity {
|
||||
private TextView switchStatus;
|
||||
private Switch mySwitch;
|
||||
private Switch hallSwitch;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
Log.d("main", "logging works");
|
||||
//new udpServer().execute();
|
||||
//new udpClient().execute("192.168.0.201", "State");
|
||||
|
||||
switchStatus = (TextView) findViewById(R.id.switchStatus);
|
||||
mySwitch = (Switch) findViewById(R.id.mySwitch);
|
||||
hallSwitch = (Switch) findViewById(R.id.hallSwitch);
|
||||
//run a status check when you know how?
|
||||
//
|
||||
//set the switch to ON
|
||||
mySwitch.setChecked(true);
|
||||
//attach a listener to check for changes in state
|
||||
|
||||
hallSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
|
||||
if (isChecked) {
|
||||
new udpClient().execute("192.168.0.202", "On");
|
||||
} else {
|
||||
new udpClient().execute("192.168.0.202", "Off");
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
new udpClient().execute("192.168.0.201", "On");
|
||||
} else {
|
||||
new udpClient().execute("192.168.0.201", "Off");
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
//check the current state before we display the screen
|
||||
if (mySwitch.isChecked()) {
|
||||
switchStatus.setText("Switch is currently ON");
|
||||
} else {
|
||||
switchStatus.setText("Switch is currently OFF");
|
||||
}
|
||||
}
|
||||
|
||||
public class udpServer extends AsyncTask<String, Integer, Void> {
|
||||
@Override
|
||||
protected Void doInBackground(String... params) {
|
||||
//SOCKET OPEN
|
||||
|
||||
//PACKET READY TO MAKE
|
||||
byte[] rData = new byte[8];
|
||||
DatagramPacket rPacket = new DatagramPacket(rData, rData.length);
|
||||
|
||||
|
||||
//READY TO RECIEVE
|
||||
Log.d("udpServer", "Ready to recieve");
|
||||
while (true) {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
DatagramSocket rSocket = null;
|
||||
try {
|
||||
rSocket = new DatagramSocket(4012);
|
||||
} catch (SocketException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Log.d("udpServer", "while");
|
||||
|
||||
try {
|
||||
rSocket.setSoTimeout(1000);
|
||||
rSocket.setReuseAddress(true);
|
||||
rSocket.receive(rPacket);
|
||||
String rString;
|
||||
rString = new String(rPacket.getData());
|
||||
Log.d("udpServer", "Recieved: "+rString);
|
||||
publishProgress();
|
||||
rSocket.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void onProgressUpdate(Integer... values) {
|
||||
Log.d("udpServer", "onProgressUpdate");
|
||||
switchStatus.setText("-");
|
||||
}
|
||||
}
|
||||
|
||||
public class udpClient extends AsyncTask<String, Integer, String> {
|
||||
@Override
|
||||
protected String doInBackground(String... params) {
|
||||
String address = params[0];
|
||||
String command = params[1];
|
||||
|
||||
InetAddress client = null;
|
||||
try {
|
||||
client = InetAddress.getByName(address);
|
||||
} catch (UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
int port = 4210;
|
||||
int len = command.length();
|
||||
byte[] udp_command = command.getBytes();
|
||||
|
||||
DatagramSocket socket = null;
|
||||
try {
|
||||
socket = new DatagramSocket();
|
||||
} catch (SocketException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
DatagramPacket packet = new DatagramPacket(udp_command, len, client, port);
|
||||
|
||||
try {
|
||||
socket.send(packet);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue