Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.mulittouch;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.RelativeLayout;
- import androidx.appcompat.app.AppCompatActivity;
- import java.io.IOException;
- import java.io.ObjectOutputStream;
- import java.io.PrintWriter;
- import java.net.Socket;
- public class MainActivity extends AppCompatActivity {
- private int initX, initY, disX, disY;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- RelativeLayout mylayaut = (RelativeLayout)findViewById(R.id.layoutxml);
- mylayaut.setOnTouchListener(new RelativeLayout.OnTouchListener(){
- public boolean onTouch(View v, MotionEvent event) {
- handleTouch(event);
- return true;
- }
- }
- );
- }
- void sendMessage(String message1,String message2)
- {
- //new BackgroundTask2().execute(String.valueOf(message));
- BackgroundTask2 b2 = new BackgroundTask2();
- b2.execute(String.valueOf(message1),String.valueOf(message2));
- }
- void handleTouch(MotionEvent event)
- {
- // TextView text1 =(TextView)findViewById(R.id.textView1);
- //wersja obiektowa
- switch(event.getAction() & MotionEvent.ACTION_MASK) {
- case MotionEvent.ACTION_DOWN:
- initX = (int) event.getX();
- initY = (int) event.getY();
- break;
- case MotionEvent.ACTION_MOVE:
- disX = (int) event.getX()- initX; //Mouse movement in x direction
- disY = (int) event.getY()- initY; //Mouse movement in y direction
- /*set init to new position so that continuous mouse movement
- is captured*/
- initX = (int) event.getX();
- initY = (int) event.getY();
- if (disX != 0 || disY != 0)
- {
- sendMessage(String.valueOf(disX),String.valueOf(disY));
- }
- }
- /*
- TextView text2 =(TextView)findViewById(R.id.textView2);
- int pointerCount = m.getPointerCount();
- for(int i=0; i<pointerCount;i++)
- {
- int x = (int) m.getX(i);
- int y = (int) m.getY(i);
- int id = m.getPointerId(i);
- String touchStatus = " ID " + id + " X: " + x + " Y "+ y;
- if(id==0)
- {
- text1.setText(touchStatus);
- String message = text1.getText().toString();
- BackgroundTask b1 = new BackgroundTask();
- b1.execute(message);
- }
- else
- {
- text2.setText(touchStatus);
- }
- }
- */
- }
- class BackgroundTask extends AsyncTask<Integer,Void,Void>
- {
- Socket s;
- PrintWriter writer;
- @Override
- protected Void doInBackground(Integer... voids) {
- try
- {
- int message = voids[0];
- s = new Socket("192.168.100.33", 6000);
- writer = new PrintWriter(s.getOutputStream());
- writer.write(message);
- writer.flush();
- writer.close();
- }catch(IOException e)
- {
- e.printStackTrace();
- }
- return null;
- }
- }
- class BackgroundTask2 extends AsyncTask<String,Void,Void>
- {
- Socket s;
- ObjectOutputStream objectOutputStream;
- @Override
- protected Void doInBackground(String... params) {
- try
- {
- String messageString1 = params[0];
- String messageString2 = params[1];
- int messageInt1;
- int messageInt2;
- messageInt1 = Integer.parseInt(messageString1);
- messageInt2 = Integer.parseInt(messageString2);
- s = new Socket("192.168.100.33", 6000);
- // s = new Socket("10.5.5.20", 6000);
- objectOutputStream = new ObjectOutputStream(s.getOutputStream());
- objectOutputStream.writeObject(messageInt1);
- objectOutputStream.writeObject(messageInt2);
- objectOutputStream.flush();
- objectOutputStream.close();
- }catch(IOException e)
- {
- e.printStackTrace();
- }
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement