您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 如何在App中实现朋友圈功能之七快速实现上拉加载朋友圈功能
北京箭扣科技有限公司中实现朋友圈功能之七快速实现上拉加载朋友圈功能逻辑分析:取出缓存postList里的最后一条数据postLista.如果lastPost存在,说明缓存里有数据,接着取出数据库中与lastPost时间最接近的一条latestPost,以它们的created_at作为关键查询条件,去服务器取limit条(比如10)数据:1.如果服务器返回的Post数量大于0,将Post存入数据库,之后需要做两个查询动作:查询出新的Like和Comment:根据本地数据库里的最新一条Like的created_at和最新一条Comment的created_at作为begin_time去服务器获取Like和Comment。查询出从服务器获取到的limit条post的Comment和Like:根据postId从服务器查询出Comment和Like,加载出来的数据存入数据库,等全部加载完毕,刷新界面。2.如果服务器返回的数据等于0,说明服务器没有这中间的数据,剩余的数据从本地数据库中取,从本地数据库中取出limit条数据,然后根据本地数据库里的最新一条Like的created_at和最新一条Comment的created_at作为begin_time去服务器获取Like和Comment,全部加载完毕后,刷新界面。b.如果lastPost不存在,说明缓存postList没有数据,不用做任何动作,刷新界面提示没有更多消息即可。实现逻辑代码:以安卓系统为例://获取下一页PostprivatevoidgetNextPageData(){PostlastPost=null;北京箭扣科技有限公司=null;if(null!=postList&&!postList.isEmpty()){lastPost=postList.get(postList.size()-1);}//如果lastPost存在,从服务器获取postif(null!=lastPost){//取出数据库中与lastPost时间最接近的一条latestPostlatestPost=PostHelper.getLatestPostByTime(lastPost.createdAt);MapString,Objectparams=loadGetNextQueryPostParams(lastPost,latestPost);try{anSocial.sendRequest(posts/query.json,AnSocialMethod.GET,params,newIAnSocialCallback(){@OverridepublicvoidonSuccess(finalJSONObjectresponse){try{JSONObjectmeta=response.getJSONObject(meta);inttotal=meta.getInt(total);JSONArraypostsJson=response.getJSONObject(response).getJSONArray(posts);//如果post的数量大于等于limitif(total0){//存入数据库savePostToDB(postsJson);postList.addAll(tempPostList);//先根据latestLike和latestComment的createdAt//获取like和comment//再根据postId取出like和commentloadLikeAndCommentByLatestData();}else{//从数据库获取缓存postList的lastPost时间往后limit数量的postgetPostFromDBByTime(POST_LIMIT,postList.get(postList.size()-1));//根据latestLike和latestComment的createdAt//获取like和comment,刷新loadLikeAndCommentByLatestData(true);}}catch(Exceptione){}}@Override北京箭扣科技有限公司(JSONObjectresponse){}});}catch(ArrownockExceptione){}}else{//如果lastPost不存在,什么都不做runOnUiThread(newRunnable(){@Overridepublicvoidrun(){mPullRefreshListView.onRefreshComplete();}});}}如何在App中实现朋友圈功能系列文章:之一朋友圈实现原理浅析之二快速实现用户信息的自定义之三快速实现双向好友功能之四在朋友圈中添加发送图片功能之五点赞、评论属性详细解析之六快速实现下拉加载朋友圈功能之七快速实现上拉加载朋友圈功能之八页面加载功能的逻辑与实现
本文标题:如何在App中实现朋友圈功能之七快速实现上拉加载朋友圈功能
链接地址:https://www.777doc.com/doc-7746612 .html