id="@+id/denglub"android:
text="登录"
android:
gravity="center"android:
layout_marginTop="10dp"
android:
layout_marginBottom="10dp"android:
layout_marginLeft="10dp"
android:
layout_weight="1"android:
layout_width="fill_parent"
android:
layout_height="wrap_content"android:
layout_gravity="center"/>
实现代码:
packagecom.fs.home;
importjava.io.IOException;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.media.AudioManager;
importandroid.media.SoundPool;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.EditText;
publicclassMainActextendsActivityimplementsOnClickListener{
EditTexteditText0;
EditTexteditText1,ipaddr;
Buttondenglub;
Buttonzuceb;
MySocketmySocket;
privateHandlerh1;
Stringstring0;
Stringstring1;
Datadata;
AppSocketappSocket;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.denglu);
mySocket=newMySocket();
ipaddr=(EditText)findViewById(R.id.EditText01);
appSocket=(AppSocket)this.getApplicationContext();
editText0=(EditText)findViewById(R.id.edittext0);
editText1=(EditText)findViewById(R.id.edittext1);
denglub=(Button)findViewById(R.id.denglub);
zuceb=(Button)findViewById(R.id.zuceb);
denglub.setOnClickListener(this);
zuceb.setOnClickListener(this);
appSocket.setSp(newSoundPool(10,AudioManager.STREAM_MUSIC,5));
appSocket.setMusic(appSocket.getSp().load(this,R.raw.button,1));
h1=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
if(msg.what==0x1){
//获取当前的Activity上的一个intent
Intentintent=newIntent(MainAct.this,TwoActivity.class);
//启动intent对应的Activity
startActivity(intent);
}elseif(msg.what==0x2){
try{
appSocket.getBis().close();
appSocket.getBos().close();
appSocket.getSocket().close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
};
}
publicvoidonClick(Viewv){
string0=editText0.getText().toString();
string1=editText1.getText().toString();
System.out.println(string0);
System.out.println(string1);
data=newData(string0,string1);
switch(v.getId()){
caseR.id.denglub:
//开启initSocket
mySocket.initSocket(ipaddr.getText().toString(),appSocket);
appSocket.setSocket(mySocket.getSocket());
appSocket.setIpaddr(ipaddr.getText().toString());
newMyThread("denglub",h1,data,appSocket).start();
break;
caseR.id.zuceb:
//开启initSocket
mySocket.initSocket(ipaddr.getText().toString(),appSocket);
newMyThread("zuceb",h1,data,appSocket).start();
mySocket.Close();
break;
default:
break;
}
appSocket.getSp().play(appSocket.getMusic(),1,1,0,0,1);
}
}
B界面:
温度、湿度、光照强度的实时显示涉及到界面的更改,用到Handler技术;另外就是一些按钮的监听,也是以Json协议的方式发送到服务器端,并接收被控制的设备的状态,实时更新按钮的图标;其次,C界面的跳转也是由一个按钮控制的。
以下是B界面的XML设计代码:
android="
android:
orientation="vertical"android:
layout_width="fill_parent"
android:
layout_height="fill_parent"android:
background="#7710fa88">
id="@+id/LinearLayout02"android:
layout_width="fill_parent"android:
layout_gravity="center"android:
layout_weight="1"android:
layout_height="fill_parent"android:
orientation="vertical"android:
gravity="center">orientation="horizontal"android:
layout_height="fill_parent"android:
layout_width="wrap_content">
background="@drawable/pika"android:
layout_height="120dp"android:
layout_gravity="top|center"android:
layout_marginTop="40dp"android:
layout_width="120dp">
layout_height="fill_parent"android:
orientation="vertical"android:
layout_weight="1"android:
layout_width="wrap_content">
layout_width="fill_parent"android:
orientation="horizontal"android:
layout_height="wrap_content"android:
layout_marginTop="40dp">
id="@+id/texta"android:
text="温度"android:
textSize="25sp"android:
layout_width="60dp"android:
layout_height="wrap_content"/>
id="@+id/progressBar1"style="?
android:
attr/progressBarStyleHorizontal"android:
progress="0"android:
visibility="visible"android:
layout_height="20dp"android:
layout_gravity="center"android:
layout_width="100dp"/>
id="@+id/text1"android:
text="0"android:
layout_width="wrap_content"android:
layout_height="wrap_content"android:
textSize="20dp"android:
gravity="right"android:
layout_gravity="right"/>
layout_width="fill_parent"android:
orientation="horizontal"android:
gravity="left"android:
layout_height="wrap_content"android:
layout_marginTop="20dp">
id="@+id/textb"android:
text="湿度"android:
textSize="25sp"android:
gravity="left"android:
layout_width="60dp"android:
layout_height="wrap_content"/>id="@+id/progressBar2"style="?
android:
attr/progressBarStyleHorizontal"android:
progress="0"android:
visibility="visible"android:
layout_gravity="center"android:
layout_height="20dp"android:
layout_width="100dp"/>id="@+id/text2"android:
gravity="left"android:
layout_width="wrap_content"android:
text="0"android:
layout_gravity="ce