Android核心功能的代码实现

整个项目的文件结构图:

 

1.建立Azure云服务和Android Application的连接

public void sendMSGToBoard(String fuction) {
        new Thread() {
            @Override
            public void run() {
                try {
                    ServiceClient serviceClient = ServiceClient.createFromConnectionString(connectionString, protocol);

                    if (serviceClient != null) {
                        serviceClient.open();
                        FeedbackReceiver feedbackReceiver = serviceClient.getFeedbackReceiver();
                        if (feedbackReceiver != null) feedbackReceiver.open();
                        Message messageToSend = new Message(fuction);
                        messageToSend.setDeliveryAcknowledgement(DeliveryAcknowledgement.Full);

                        serviceClient.send(deviceId, messageToSend);
                        System.out.println("Message sent to device");

                        FeedbackBatch feedbackBatch = feedbackReceiver.receive(10000);
                        if (feedbackBatch != null) {
                            System.out.println("Message feedback received, feedback time: " + feedbackBatch.getEnqueuedTimeUtc().toString());
                        }

                        if (feedbackReceiver != null) feedbackReceiver.close();
                        serviceClient.close();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();

    }

(2)使用commandMSG作为命令的载体传输。

public class CommandMsg implements Serializable {

    public String Name;

    public Parameters Parameters;

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public Parameters getParameter() {
        return Parameters;
    }

    public void setParameter(Parameters param) {
        this.Parameters = param;
    }


    public static class Parameters {
        int Position;
        String Color;
        String Bright;

        public String getBright() {
            return Bright;
        }

        public void setBright(String bright) {
            Bright = bright;
        }

        public String getValue() {
            return Color;
        }

        public void setValue(String value) {
            Color = value;
        }

        public int getPosition() {
            return Position;
        }

        public void setPosition(int position) {
            Position = position;
        }
    }

}
(3)使用FeedbackBatch 回调Command发送的状态:
                        FeedbackBatch feedbackBatch = feedbackReceiver.receive(10000);
                        if (feedbackBatch != null) {
                            System.out.println("Message feedback received, feedback time: " + feedbackBatch.getEnqueuedTimeUtc().toString());
                        }

                        if (feedbackReceiver != null) feedbackReceiver.close();
                        serviceClient.close();

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值