码迷,mamicode.com
首页 > 移动开发 > 详细

如何在App中实现朋友圈功能之一朋友圈实现原理浅析——箭扣科技Arrownock

时间:2015-12-02 14:48:30      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:服务器   图片   缩略图   朋友   箭扣科技   

如何在App中实现朋友圈功能

之一

朋友圈实现原理浅析

 

微信朋友圈、新浪微博、知乎等知名朋友圈类型功能,大家有没有想过其实现的逻辑呢?

本文以微信朋友圈功能为例,解析实现逻辑。

 

朋友圈的结构:

朋友圈从总体上来说会分为6块结构,分别是墙、用户、图片、墙贴、评论与点赞。

墙:一块公共的墙,所有的墙贴都位于其上,如果APP只实现朋友圈功能,那么墙贴其实是可以不用的,但是如果APP要实现朋友圈、新闻圈等等其他各种墙贴类型消息的话,那么墙就显得很有必要了,这时候我们需要通过建立不同的墙来展示不同类型的墙贴。

用户:用户是发表墙贴、发表评论还有点赞必须的对象。少了它,就没办法往后开发朋友圈。

图片:发表朋友圈的时候,常常会带着一张或多张图片,而缩略图中原图的处理和展现是很重要的细节。

墙贴:朋友圈的核心对象,每一个用户发出来的墙贴都会展示在墙上,而一个墙贴带着一张或多张图片,用户之间可以看到其发表的墙贴内容,并对其进行评论和点赞。

评论和点赞:用户对墙贴进行的操作,其中评论又可以评论其他人之前留下的评论。

 

墙贴的实现:

1、 首先我们需要创建一个已经存在的Wall向服务器发送一个请求(这里我们使用curl命令的方式创建):


curl -F "name=FriendWall" "http://cloud.arrownock.com/v2/walls/create.json?key=appKey"



创建好Wall后,我们会拿到一个wallId,这之后所有的用户发送朋友圈的时候,我们都需要传入wallId这个参数。

 

2、 发送朋友圈(这里以Android代码为例进行创建Post)


    //创建朋友圈消息
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("title", title);
    params.put("wall_id", wallId);
    params.put("user_id", userId);
    params.put("content", content);
    anSocial.sendRequest("posts/create.json", AnSocialMethod.POST, params, 
                                                            new IAnSocialCallback() {

        @Override
        public void onSuccess(JSONObject response) {
        //创建Post成功时,需要将该条Post的数据保存到本地数据库
        }

        @Override
        public void onFailure(JSONObject response) {
        //创建失败
        }
    });




这里我们创建了Post,会拿到整个Post的数据,我们需要将它保存在本地,这之后,为了减少用户的流量消耗,只要用户一直用同一台设备使用朋友圈功能,我们都不应该再从服务器获取这条Post数据。

可能有朋友会问,那假如我们不考虑用户的流量消耗问题,是不是就可以不用保存这些数据到数据库,每次都去请求服务器了呢?答案是否定的。原因是即使我们不考虑流量的消耗问题,在一个App满天飞的时代,用户体验是极其重要的一个因素。想像一下这个场景:如果用户处在在一个网络不流畅的状态,打开了之前查看过的朋友圈内容,结果却是朋友圈内空白一片,一切都需要重新载入,什么都看不到,会有怎样的用户体验?所以,保存数据到本地是很重要的。

 

如何在App中实现朋友圈功能系列文章:

之一朋友圈实现原理浅析

之二快速实现用户信息的自定义

之三快速实现双向好友功能

之四在朋友圈中添加发送图片功能

之五点赞、评论属性详细解析

之六快速实现下拉加载朋友圈功能

之七快速实现上拉加载朋友圈功能

之八页面加载功能的逻辑与实现

 


本文出自 “箭扣科技Arrownock” 博客,转载请与作者联系!

如何在App中实现朋友圈功能之一朋友圈实现原理浅析——箭扣科技Arrownock

标签:服务器   图片   缩略图   朋友   箭扣科技   

原文地址:http://arrownock.blog.51cto.com/10638334/1718785

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!