(Java)微信之个人公众账号开发(二)——接收并处理用户消息(下)
接下来,我们再讲一下图文消息:
如图:
大家可以先从开发者文档中了解一下图文消息的一些参数:
如上图,用户回复4时,ipastor返回了几条图文消息,上图中属于多图文消息,当然还有单图文消息,图文消息,我们需用到封装类NewsMessage和Article,至于为什么用户发送4,ipastor就会回复图文消息,这个不用我说明了吧,加个判断就可以了,看代码:
if ("4".equals(content))
{
NewsMessage newsMessage = new NewsMessage();
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType("news");
newsMessage.setFuncFlag(0);
List<Article> articleList = new ArrayList<Article>();
Article article = new Article();
article.setTitle("(Java)微信之个人公众账号开发(一)——进入开发者模式 ");
article.setDescription("");
article.setPicUrl("http://img.blog.csdn.net/20140305133622296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpeXVsaWFuZzIwMTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast");
article.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/20540059");
Article article5 = new Article();
article5.setTitle("第2篇\n(Java)微信之个人公众账号开发(二)——接收并处理用户消息 ");
article5.setDescription("");
article5.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article5.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/20548567");
Article article1 = new Article();
article1.setTitle("第3篇\n自定义progressDialog的实现 ");
article1.setDescription("");
article1.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article1.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/17027305");
Article article2 = new Article();
article2.setTitle("第4篇\nViewPaper实现首次进入软件时左右滑屏的软件展示效果 ");
article2.setDescription("");
article2.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article2.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/17026739");
Article article3 = new Article();
article3.setTitle("第5篇\nViewPaper实现滑屏切换页面及动画效果 ");
article3.setDescription("");
article3.setPicUrl("http://avatar.csdn.net/3/B/9/1_baiyuliang2013.jpg");
article3.setUrl("http://blog.csdn.net/baiyuliang2013/article/details/17026131");
articleList.add(article);
articleList.add(article5);
articleList.add(article1);
articleList.add(article2);
articleList.add(article3);
newsMessage.setArticleCount(articleList.size());
newsMessage.setArticles(articleList);
respMessage = MessageUtil.newsMessageToXml(newsMessage);
}
图文消息一次最多只能发送10条信息,Title为每条信息的标题,PicUrl为图片地址,Url为整条消息地址,若用户点击该条消息,则会在微信自带浏览器中跳转到Url对应的网址,单图文消息即止含一条消息,多图文消息也可以设置为首条消息不含图片,或者最后一条消息不含图片,不含图片只需将PicUrl设置为空即可,但Url最好不要为空,不然用户点击时会跳转到一空白页面,具体效果,大家自己可以试验下。以上这些,大家也看到了,我并没有涉及到数据库,如果要丰富的用户体验,数据库是必不可少的,这个大家可以自己试着关联到数据库,以提高用户体验,好了,就先为大家讲到这里,比较简单,高手大神勿喷,主要针对入门级用户,最后,要感谢一下
CSDN专家柳峰,部分代码参考了柳老师,今后如果有必要,我会再补充新内容,接着为大家附上本项目中所用到的jar包 :
jar包可以从这里下载:
http://download.csdn.net/detail/baiyuliang2013/6998729
(Java)微信之个人公众账号开发(二)——接收并处理用户消息(下)的更多相关文章
- (Java)微信之个人公众账号开发(一)——进入开发者模式
本篇文章将教大家如何建立微信个人公众账号,(注意:后台全部是用javaweb相关技术开发),大家知道,现在微信公众账号分服务号和订阅号,现在我要讲的主要是个人微信公众账号的建立以及后台的开发,个人公众 ...
- 微信公众账号开发教程(二) 基础框架搭建——转自http://www.cnblogs.com/yank/p/3392394.html
上一章,我们已经初步讲解了微信公众账号开发的基本原理,今天我们来探索设计实现. 首先我们设计了模块层次图,当然图中只是给出一种实现方式,不局限于此.具体见下图. 主要功能介绍如下: 1)请求接口层.处 ...
- 微信公众账号开发教程(三) 实例入门:机器人(附源码) ——转自http://www.cnblogs.com/yank/p/3409308.html
一.功能介绍 通过微信公众平台实现在线客服机器人功能.主要的功能包括:简单对话.查询天气等服务. 这里只是提供比较简单的功能,重在通过此实例来说明公众平台的具体研发过程.只是一个简单DEMO,如果需要 ...
- 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html
微信公众账号开发教程(四)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了 ...
- 微信公众账号开发教程(一) 基本原理及微信公众账号注册 ——转自http://www.cnblogs.com/yank/p/3364827.html
微信公众账号开发教程 基本原理 在开始做之前,大家可能对这个很感兴趣,但是又比较茫然.是不是很复杂?很难学啊? 其实恰恰相反,很简单.为了打消大家的顾虑,先简单介绍了微信公众平台的基本原理. 微信服务 ...
- 转:C#微信公众号开发之接收事件推送与消息排重的方法
本文实例讲述了C#微信公众号开发之接收事件推送与消息排重的方法.分享给大家供大家参考.具体分析如下: 微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.这样的话,问题就来了.有这 ...
- PHP实现微信公众账号开发
1.首先需要一个可以外网访问的接口url. 我这里是申请的新浪免费云服务器,http://xxxxx.applinzi.com/wx.php,具体自己可以去新浪云中心申请地址为:http://www. ...
- Python公众号开发(二)—颜值检测
上篇文章,我们把自己的程序接入了微信公众号,并且能把用户发送的文本及图片文件原样返回.今天我们把用户的图片通过腾讯的AI平台分析后再返回给用户. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造 ...
- Java微信公众平台开发(二)--微信服务器post消息体的接收
转自: http://www.cuiyongzhi.com/post/39.html 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发 ...
随机推荐
- [LeetCode] Reshape the Matrix 重塑矩阵
In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...
- 将 Net 项目升级 Core项目经验:(三)迁移后的Net Standard版本的类库测试和多平台项目实测
迁移后的Net Standard版本的类库测试和多平台项目实测 按照第一步的方法,添加一个Net Core的MSTest项目,然后将原来的测试项目下的代码迁移到新测试 项目中,然后引用新的Beyond ...
- [JSOI 2008]星球大战starwar
Description 题库链接 给你一张 \(n\) 点, \(m\) 条边的无向图,每次摧毁一个点,问你剩下几个联通块. \(1\leq n\leq 2m,1\leq m\leq 200000\) ...
- Go学习——go+channel实战(转)
转载:http://studygolang.com/articles/2423 背景 在最近开发的项目中,后端需要编写许多提供HTTP接口的API,另外技术选型相对宽松,因此选择Golang + Be ...
- ●HDU 6021 MG loves string
题链: http://acm.hdu.edu.cn/showproblem.php?pid=6021 题解: 题意:对于一个长度为 N的由小写英文字母构成的随机字符串,当它进行一次变换,所有字符 i ...
- poj 3348 Cow 凸包面积
Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8122 Accepted: 3674 Description ...
- bzoj3126[Usaco2013 Open]Photo 单调队列优化dp
3126: [Usaco2013 Open]Photo Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 374 Solved: 188[Submit] ...
- 从零安装Scrapy心得 | Install Python Scrapy from scratch
1. 介绍 Scrapy,是基于python的网络爬虫框架,它能从网络上爬下来信息,是data获取的一个好方式.于是想安装下看看. 进到它的官网,安装的介绍页面 https://docs.scrapy ...
- Android 自定义支持快速搜索筛选的选择控件(一)
Android 自定义支持快速搜索筛选的选择控件 项目中遇到选择控件选项过多,需要快速查找匹配的情况. 做了简单的Demo,效果图如下: 源码地址:https://github.com/whieenz ...
- CentOS7快速配置nginx node mysql8.0
目录: (一)基础准备 (二)安装node (三)安装nginx (四)安装mySql8.0 (五)整体配置 (六)安装PM2守护进程 (一)基础准备1.1 概述 服务器操作系统为 centos7.4 ...