android receive and send data through wifi connection to hardware

前端 未结 1 746
南笙
南笙 2020-12-13 22:46

Actually I want to send data from a hardware piece to an android device. The hardware device is connected to local wireless router which is connected to modem. Android devic

相关标签:
1条回答
  • 2020-12-13 23:04
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class SimpleClientActivity extends Activity {
    
     private Socket client;
     private FileInputStream fileInputStream;
     private BufferedInputStream bufferedInputStream;
     private OutputStream outputStream;
     private Button button;
     private TextView text;
    
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
    
      button = (Button) findViewById(R.id.button1);   //reference to the send button
      text = (TextView) findViewById(R.id.textView1);   //reference to the text view
    
      //Button press event listener
      button.setOnClickListener(new View.OnClickListener() {
    
       public void onClick(View v) {
    
    
        File file = new File("/mnt/sdcard/input.jpg"); //create file instance, file to transfer or any data
    
        try {
    
         client = new Socket("10.0.2.2", 4444);// ip address and port number of ur hardware device
    
         byte[] mybytearray = new byte[(int) file.length()]; //create a byte array to file
    
         fileInputStream = new FileInputStream(file);
         bufferedInputStream = new BufferedInputStream(fileInputStream);  
    
         bufferedInputStream.read(mybytearray, 0, mybytearray.length); //read the file
    
         outputStream = client.getOutputStream();
    
         outputStream.write(mybytearray, 0, mybytearray.length); //write file to the output stream byte by byte
         outputStream.flush();
         bufferedInputStream.close();
         outputStream.close();
               client.close();
    
               text.setText("File Sent");
    
    
        } catch (UnknownHostException e) {
         e.printStackTrace();
        } catch (IOException e) {
         e.printStackTrace();
        }
    
    
       }
      });
    
     }
    }
    

    // to send message u can also use below code

         public static String ipAddress;// ur ip
        public static int portNumber;// portnumber
    
        private Socket client;
    
        private OutputStreamWriter printwriter;
        private String message;
    
    
    new Thread(new Runnable() {
    
                        @Override
                        public void run() {
                            // TODO Auto-generated method stub
                            try {
                                client = new Socket(ipAddress, portNumber);
                                printwriter = new OutputStreamWriter(client
                                        .getOutputStream(), "ISO-8859-1");
                                printwriter.write("any message");
                                printwriter.flush();
                                printwriter.close();
                                client.close();
                            }
    
                            catch (UnknownHostException e) {
                                e.printStackTrace();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
                    }).start();
    
    0 讨论(0)
提交回复
热议问题