public class MainActivity extends AppCompatActivity {
private Button mAddButton;
private Button mConnectButton;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAddButton = (Button) findViewById(R.id.butt_add);
mAddButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText( MainActivity.this, R.string.jpa, Toast.LENGTH_LONG).show();
mConnectButton = (Button) findViewById(R.id.butt_connect);
mConnectButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText( MainActivity.this, R.string.pcd, Toast.LENGTH_LONG).show();
} catch (InterruptedException e) {
class TCPWorker extends Thread {
private BlockingDeque<byte []> deque;
TCP_Sock_Thread = new Thread(new Runnable() {
} catch (InterruptedException e) {
byte[] bit = deque.takeLast(); deque.clear();
final Bitmap new_jpg = BitmapFactory.decodeByteArray(bit, 0, bit.length);
} catch (InterruptedException e) {
InetAddress serverAddr = InetAddress.getByName("192.168.4.74");
socket = new Socket(serverAddr, 8888);
OutputStream wrt = socket.getOutputStream();
DataInputStream rdt = new DataInputStream(socket.getInputStream());
socket.setSoTimeout(300 * 1000);
socket.setReceiveBufferSize(500000);
socket.setSendBufferSize(1000);
byte [] init_string = new byte [] { (byte)'?', (byte)'?', (byte)'?', (byte)'?', (byte)'?', (byte)'?', (byte)'1', (byte)'2', (byte)'3', (byte)0x0D };
if (rdt.readByte() != (byte)'#') {
ByteBuffer hdr_buf = ByteBuffer.allocate(4);
hdr_buf.order(ByteOrder.LITTLE_ENDIAN);
socket.setSoTimeout(60 * 1000);
rdt.readFully(hdr_buf.array()); k = hdr_buf.getInt(0);
if ((k < 0) || (k > 10000000)) {
byte [] bit = new byte[k];