手機 藍芽 控制 繼電器 無線門鎖 物聯網 安卓源碼 安卓開發 Android WIFI控制 詳細注釋測試穩定無bug,安卓android

來源:互聯網
上載者:User

手機 藍芽 控制 繼電器 無線門鎖 物聯網 安卓源碼 安卓開發 Android WIFI控制 詳細注釋測試穩定無bug,安卓android

一、功能:

1.Android  WIFI串連與斷開,儲存串連IP及連接埠。

2.WIFI控制3個繼電器

3.16進位發送指令,可以單條和多條發送,用逗號隔開。

4.16進位接收

如需特別功能可以找我定製(程式源碼,定製專家 手機:18910620895 WangWang:chenhao0568  QQ:345139427)。

二、源碼如下:

登陸Login.java

package com.example.eeeee;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.annotation.SuppressLint;import android.app.Activity;import android.view.View;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;import android.content.Intent;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;@SuppressLint("NewApi")public class Login<E, K, V> extends Activity {public static Socket mSocket;public static InputStream ips;public static OutputStream ops;//private final String DEBUG_TAG = "mySocketAct";private String ip;private String port;//private ImageButton but7=null;private EditText ServerIp = null;private EditText ServerPort = null;private Button btn_login = null;private CheckBox remember;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.login);               //“登陸”頁面-------------------------------------------------------------------------------------------      this.ServerIp = (EditText)super.findViewById(R.id.et_ip);      this.ServerPort = (EditText)super.findViewById(R.id.et_port);      btn_login = (Button)this.findViewById(R.id.btn_login);      remember = (CheckBox)this.findViewById(R.id.cb_remember);      loadIpPort();       ////載入IP地址及連接埠            btn_login.setOnClickListener(new View.OnClickListener() {    //按“登陸”按鈕後的事件       @Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub       //容錯判斷ip = ServerIp.getText().toString().trim();port = ServerPort.getText().toString().trim();ServerIp.requestFocus();if(ip==null|ip.trim().equals(""))ServerIp.setError("請輸入IP地址!");                if(port==null|port.trim().equals(""))                ServerPort.setError("請輸入連接埠號碼!");                else                {                   connect();                }    return;}});             }    public void saveIpPort()             //儲存IP地址及連接埠    {     SharedPreferences uiState   = getSharedPreferences("RS485 Controller", MODE_PRIVATE); Editor et=uiState.edit(); et.putString("ip",ServerIp.getText().toString()); et.putString("port",ServerPort.getText().toString());  et.commit();    }     public void loadIpPort()              //載入IP地址及連接埠    {     SharedPreferences uiState   = getSharedPreferences("RS485 Controller", MODE_PRIVATE);    ServerIp.setText(uiState.getString("ip","192.168.1.180" ));    ServerPort.setText(uiState.getString("port", "8899"));     }    public void connect() {    Toast.makeText(Login.this, "串連中……", Toast.LENGTH_SHORT).show();new Thread(new Runnable() {@Overridepublic void run() {try {mSocket = new Socket(InetAddress.getByName(ip),Integer.parseInt(port));// mSocket =new Socket("192.168.1.180",8899);ops = mSocket.getOutputStream();ips =mSocket.getInputStream();} catch (Exception e) {e.printStackTrace();} finally {}handler.sendMessage(handler.obtainMessage());}}).start();}// 訊息處理隊列private Handler handler =  new Handler(new Handler.Callback() {  @Override        public boolean handleMessage(Message msg) {if (mSocket == null) {Toast.makeText(Login.this, "串連失敗,請重新登陸!", Toast.LENGTH_SHORT).show();} else{Toast.makeText(Login.this, "串連成功!", Toast.LENGTH_SHORT).show(); if (remember.isChecked()) { saveIpPort();}             //儲存IP地址及連接埠Intent intent = new Intent();intent.setClass(Login.this,Relay.class);startActivity(intent);                                         //進入Login頁面//finish();   }            return false;        }});}




先:





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.