接下来,我们再讲一下图文消息:
如图:
大家可以先从开发者文档中了解一下图文消息的一些参数:
如上图,用户回复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包可以从这里下载: