Android学习笔记10--Handler的用法

Handler的用法
1.定义一个Handler对象并且重写handleMessage方法,方法里有一个Message类型的参数可以存储数据
2.通过Handler对象调用sendMessage()方法发送一个信息
3.定义一个Message对象用来存储数据和获取数据

    private Handler handler = new Handler(){
        public void handleMessage(android.os.Message msg) {
            //通过msg获取数据
        Object obj = msg.obj//可以强转成需要的数据类型
            //若发送多条数据,可以判断当前接受的是哪一天
            int int = msg.what
        }
    };
        //2.9.0 创建message对象 
        Message msg = Message.obtain(); //使用msg的静态方法 可以减少对象的创建 
        //Message msg = new Message();
        //设置一个消息的编号
        msg.what = REQUESTSUCESS;
        //可以接受任何类型的数据
        msg.obj = content;          
        //2.9.1 拿着我们创建的handler(助手) 告诉系统 说我要更新ui
        handler.sendMessage(msg);  //发了一条消息  消息(msg)里把数据放到了msg里 handleMessage方法就会执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JWS SOAP Web Service中,可以使用Handler实现过滤器/拦截器的效果,对接口请求和响应进行处理。 Handler是Java EE中的一个标准接口,用于处理Web Service请求和响应。在JWS SOAP Web Service中,Handler可以对请求和响应进行处理,类似于Servlet中的过滤器和拦截器。 Handler可以在请求到达Web Service之前或者响应离开Web Service之后进行处理,可以对SOAP消息的头和体进行处理,可以修改SOAP消息中的内容,可以设置SOAP消息的属性等。 在JWS SOAP Web Service中,使用Handler需要完成以下步骤: 1. 创建Handler类,实现javax.xml.ws.handler.Handler接口,并实现其方法。 2. 在Web Service实现类中,使用@HandlerChain注解指定Handler链的位置和名称。 3. 在Handler链的配置文件中,指定Handler类的位置和名称,并指定Handler类的处理顺序。 示例代码如下: Handler类: ```java public class MyHandler implements SOAPHandler<SOAPMessageContext> { public boolean handleMessage(SOAPMessageContext context) { Boolean outbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (outbound) { System.out.println("Handle outbound message."); } else { System.out.println("Handle inbound message."); } return true; } public boolean handleFault(SOAPMessageContext context) { System.out.println("Handle message fault."); return true; } public void close(MessageContext context) { System.out.println("Close handler."); } public Set<QName> getHeaders() { return null; } } ``` Web Service实现类: ```java @WebService @HandlerChain(file = "handler-chain.xml") public class MyWebService { @WebMethod public String sayHello(String name) { return "Hello, " + name + "!"; } } ``` Handler链配置文件handler-chain.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <handler-chains xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/handler-chains_1_0.xsd"> <handler-chain> <handler> <handler-class>com.example.MyHandler</handler-class> </handler> </handler-chain> </handler-chains> ``` 在上面的示例中,我们创建了一个MyHandler类,实现了javax.xml.ws.handler.Handler接口,并实现了handleMessage、handleFault、close和getHeaders方法。在MyWebService类中,使用@HandlerChain注解指定了Handler链的位置和名称。在handler-chain.xml中,指定了MyHandler类的位置和名称,并指定了处理顺序。 当Web Service被调用时,MyHandler类会对请求和响应进行处理,并输出相关信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值