当前位置: 首页 > news >正文

网站优化seo是什么意思/seo项目分析

网站优化seo是什么意思,seo项目分析,苏州手机app开发,怎么建设商品网站Android接收RabbitMQ消息。 参考:https://blog.csdn.net/qq_36576738/article/details/83754621 我这android这边就不实现发布消息功能。因为我是在服务端那边推送消息。 开发工具android studio。 1》建好项目后添加包(目前最新的是5.7.0)&#xff…

Android接收RabbitMQ消息。

参考:https://blog.csdn.net/qq_36576738/article/details/83754621

我这android这边就不实现发布消息功能。因为我是在服务端那边推送消息。

开发工具android studio。

1》建好项目后添加包(目前最新的是5.7.0):

dependencies {implementation 'com.rabbitmq:amqp-client:5.7.0'
}

2》在主页面上加个TextView,用来显示服务端推送的消息。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/txtrabbitmqt"android:text="rabbitmq"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent" /></android.support.constraint.ConstraintLayout>

3》连接服务器上的RabbitMq:

   /*** 连接设置*/private void setupConnectionFactory() {factory =  new ConnectionFactory();factory.setHost("服务器ip");factory.setPort(rabbitmq端口,默认5672);factory.setUsername("自己连接rabbitmq账号");factory.setPassword("自己连接rabbitmq的密码");}

4》编写订阅代码:

    /*** 收消息(从发布者那边订阅消息)*/private void basicConsume(final Handler handler){try {//连接Connection connection = factory.newConnection() ;//通道final Channel channel = connection.createChannel() ;//实现Consumer的最简单方法是将便捷类DefaultConsumer子类化。可以在basicConsume 调用上传递此子类的对象以设置订阅:channel.basicConsume("myqueue" , false ,  new DefaultConsumer(channel){@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {super.handleDelivery(consumerTag, envelope, properties, body);String msg = new String(body) ;long deliveryTag = envelope.getDeliveryTag() ;channel.basicAck(deliveryTag , false);//从message池中获取msg对象更高效Message uimsg = handler.obtainMessage();Bundle bundle = new Bundle();bundle.putString("msg", msg);uimsg.setData(bundle);handler.sendMessage(uimsg);}});} catch (IOException e) {e.printStackTrace();} catch (TimeoutException e) {e.printStackTrace();}}

整个demo代码:

package com.ldb.longdb.rabbitmqapp;import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DefaultConsumer;
import com.rabbitmq.client.Envelope;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class MainActivity extends AppCompatActivity {ConnectionFactory factory;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//连接设置setupConnectionFactory();//用于从线程中获取数据,更新uifinal Handler incomingMessageHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {String message = msg.getData().getString("msg");TextView tv = (TextView) findViewById(R.id.txtrabbitmqt);tv.append(message + '\n');Log.i("test", "msg:" + message);}};//开启消费者线程//subscribe(incomingMessageHandler);new Thread(new Runnable() {@Overridepublic void run() {basicConsume(incomingMessageHandler);}}).start();}/*** 连接设置*/private void setupConnectionFactory() {factory =  new ConnectionFactory();factory.setHost(服务器ip);factory.setPort(5672);factory.setUsername("longdb");factory.setPassword("***");}/*** 收消息(从发布者那边订阅消息)*/private void basicConsume(final Handler handler){try {//连接Connection connection = factory.newConnection() ;//通道final Channel channel = connection.createChannel() ;//实现Consumer的最简单方法是将便捷类DefaultConsumer子类化。可以在basicConsume 调用上传递此子类的对象以设置订阅:channel.basicConsume("myqueue" , false ,  new DefaultConsumer(channel){@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {super.handleDelivery(consumerTag, envelope, properties, body);String msg = new String(body) ;long deliveryTag = envelope.getDeliveryTag() ;channel.basicAck(deliveryTag , false);//从message池中获取msg对象更高效Message uimsg = handler.obtainMessage();Bundle bundle = new Bundle();bundle.putString("msg", msg);uimsg.setData(bundle);handler.sendMessage(uimsg);}});} catch (IOException e) {e.printStackTrace();} catch (TimeoutException e) {e.printStackTrace();}}
}

我是直接打包,然后自己手机安装测试。

测试步骤:1》app打开

                  2》springcloud服务(springcloud怎样发布消息,请看上一篇)运行,发送请求。

测试截图:

 

http://www.lbrq.cn/news/1091665.html

相关文章:

  • 成都酒店网站建设/关键词长尾词优化
  • 团队介绍网站建设/推广平台免费b2b网站大全
  • 汉沽谁做网站/新站整站优化
  • 网站seo靠谱/网站运营和维护
  • java做网站好还是asp好/怎么样推广最有效最快速
  • 专门做外国的网站有哪些/一键优化大师下载
  • 在线代理浏览器网站/seo的中文意思
  • 广告公司网站建设/网图识别在线百度
  • 北京王府井美食/搜索引擎排名优化方案
  • 如何在国外网站上做外贸/软文推广代写代发
  • 微信支付需要网站备案/网站广告收费标准
  • 专业建设外贸网站制作/商城网站开发公司
  • 网站正能量免费推广软件晚上/农产品网络营销
  • 创业园区网站建设/网络宣传推广方案范文
  • 做网站都要多少钱/nba排行榜最新排名
  • 做有色研究的网站/百度广告
  • 惠州有没有做网站/软文新闻发稿平台
  • 天津建网站的公司/论坛优化seo
  • 浏览器打开自己做的网站/网站流量宝
  • 鄂州做网站报价/百度代理合作平台
  • wordpress 心理测试/seo外包顾问
  • 专业网站建设的/八大营销方式有哪几种
  • 糖果网站是李笑来做的吗/深圳最好的外贸seo培训
  • 上海网站建设改版/品牌营销的四大策略
  • 巫山做网站哪家强/百度推广多少钱一天
  • 贸易公司寮步网站建设哪家好/关键词推广是什么
  • 推荐好的简历制作网站/中央电视台新闻联播广告价格
  • 门户网站建设情况/2345网址大全
  • 网站做cdn/地推网app推广平台
  • 容易做的网站/友情链接检索
  • 联表实现回显功能
  • 二分函数 lower_bound upper_bound
  • 简单实现支付密码的页面及输入效果
  • sqli-labs通关笔记-第21关 字符型Header-Cookie SQL注入(单引号括号闭合 base64编码绕过 手工注入+脚本注入两种方法)
  • 如何实现打印功能
  • 在C#中判断两个列表数据是否相同