51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2918|回复: 0
打印 上一主题 下一主题

【转】手机 蓝牙 控制 继电器 无线门锁 物联网 安卓源码 安卓开发 Android WIFI控...

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2016-5-10 13:48:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    一、功能:

    1.Android  WIFI连接与断开,保存连接IP及端口。

    2.WIFI控制3个继电器

    3.16进制发送指令,可以单条和多条发送,用逗号隔开。

    4.16进制接收

    如需特别功能可以找我定制(程序源码,定制专家 手机:18910620895 旺旺:chenhao0568  QQ:345139427)。

    二、源码如下:

    登陆Login.Java


    [java] view plain copy


    • 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() {    //按“登陆”按钮后的事件  
    •           @Override  
    •             public 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() {  
    •             @Override  
    •             public 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;  
    •             }     
    •         }  
    •     );  
    •   
    • }  






    先上图:


    文章出自:http://blog.csdn.net/chenhao0568/article/details/45618345


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 04:17 , Processed in 0.070526 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表