messenger,client和server通信Demo
来源:互联网 发布:淘宝最牛卖家骂人 店名 编辑:程序博客网 时间:2024/05/23 22:30
</pre><p>Server</p><p></p><p><pre name="code" class="java">public class MessengerService extends Service {private Handler handle=new Handler(){public void handleMessage(Message msg) {//获得传过来的messenger,用来向客户端发送数据Messenger replayTo=msg.replyTo;//计算结果int res=msg.arg1+msg.arg2;//从消息池中获得一个新的message;Message newMsg=Message.obtain();//将计算的结果放到arg1中;newMsg.arg1=res;//newMsg.replyTo=replayTo;try {//发送回去给客户端replayTo.send(newMsg);} catch (RemoteException e) {// TODO Auto-generated catch blocke.printStackTrace();}};};@Overridepublic IBinder onBind(Intent intent) {//绑定成功的时候打印一句Toast.makeText(getApplicationContext(), "计算成功 ", 0).show();//实质返回Messenger//客户端发送的消息到上面处理return new Messenger(handle).getBinder();}}
Client
public class MainActivity extends Activity implements OnClickListener {
private Button bind;
private EditText num1,num2;
private TextView result;
private Messenger replyto;
/**
* 处理服务端返回的信息
*/
private Handler handle=new Handler(){
public void handleMessage(Message msg) {
result.setText(msg.arg1+"");
};
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bind=(Button) findViewById(R.id.bind);
num1=(EditText) findViewById(R.id.num1);
num2=(EditText) findViewById(R.id.num2);
result=(TextView) findViewById(R.id.result);
//新建一个messenger,用于服务端返回数据的载体
replyto=new Messenger(handle);
bind.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent=new Intent("ln");
bindService(intent, conn, Context.BIND_AUTO_CREATE);
}
private ServiceConnection conn=new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//通过new messenger(Ibind )取得绑定返回的messenger。
Messenger messenger=new Messenger(service);
Message msg=Message.obtain();
msg.arg1=Integer.parseInt(num1.getText().toString());
msg.arg2=Integer.parseInt(num2.getText().toString());
//设置用于发送回来的messenger
msg.replyTo=replyto;
try {
messenger.send(msg);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
protected void onDestroy() {
unbindService(conn);
};
- messenger,client和server通信Demo
- Java Socket编程 多线程server和client通信demo
- vc++ socket通信基础 client and server demo
- java server 多client异步socket通信demo
- 用PageMethods进行Server和Client通信
- 最简单client和server通信程序
- spice client 和 spice server 通信机制
- spice client 和 spice server 通信机制
- http client和server 通信示例
- spice client 和 spice server 通信机制
- UDP通信client端和server端
- 网络通信(Server和Client)
- 实现Server和client端的通信
- Mina客户端Client和Server对象传输demo
- 一个简单的ACE网络库Server和Client Demo
- server 和client通信(asp.net和Javascript)
- marsing linux下socket通信,server和client简单例子
- linux下socket通信,server和client简单例子
- volley
- MySQL GRANT REVOKE用法
- 第八周项目1-建立顺序串算法库
- 第四周项目3(3)-判断单链表是否递增
- 第8周项目3-顺序串算法
- messenger,client和server通信Demo
- 区块链开发技术路线选择的思考(之一)
- unity如何进行横竖屏的切换
- ubuntu 14.04 配置samba账户
- iOS开发之iOS中的动画实现,通过CAShapeLayer、CAShapeLayer,CAReplicatorLayer实现炫酷的动画、雷达效果,波纹效果,咻一咻效果。iOS核心动画实现。
- 轻松学习正则表达式
- 1002. 双栈排序
- selenium web自动化测试工具
- 【独家】加入时间特征的船舶轨迹离线压缩算法——动态Douglas-Peucker算法