如何在App中实现朋友圈功能之二快速实现用户信息的自定义——箭扣科技Arrownock...
如何在App中实现朋友圈功能
之二
快速实现用户信息的自定义
自我关联社交元素:
anSocial中很多的社交元素API,如帖子(Post)、相册(Album)、文件(File)等,这些API的可选参数中允许传入其他社交元素的id。
当我们传了这些id时,服务器数据库里保存的是id,但是在返回结果里,会将这些id以对象的形式返回。
这样就大大提升了查询效率,原本需要查询两次的功能,现在可以一次实现,比如接下来要说的用户头像功能开发里可以利用的字段。
用户头像:
当我们在APP上创建用户,需要调用users/create.json API。
如果用户有头像了怎么办呢?试试在调用该方法时传入photo字段吧(在Android和iOS上都由AnSocialFile类实现)!
传入这个字段后,服务器会保存图片,并自动生成一个Photo,服务器的返回值也会将原本的User对象中的photo_id转化为Photo对象。
这样我们在查询用户的时候,就可以直接获得该用户的头像地址,而不用根据photo_id再去调用一次photos/get.json方法获取头像地址了。
下面是返回JSON对象的示例:
{"meta": {"code": 200,"status": "ok","methodName": "createUser"},"response": {"user": {"id": "55574fe8b361dbaefc000005","username": "testuser","created_at": "2015-05-16T14:10:48.593Z","updated_at": "2015-05-16T14:10:48.606Z","photo": {"id": "55574fe8b361dbaefc000008","filename": "userPhoto.png","url":"http://cloud.arrownock.com/v2/resources/55574fe8b361dbaefc000006/userPhoto.png","user_id": "55574fe8b361dbaefc000005","commentCount": 0,"commentRate": 0,"likeCount": 0,"dislikeCount": 0,"created_at": "2015-05-16T14:10:48.603Z","updated_at": "2015-05-16T14:10:48.604Z"}}}
}
Ps:users/update.json里也可以传哦。
如何在App中实现朋友圈功能系列文章:
之一朋友圈实现原理浅析
之二快速实现用户信息的自定义
之三快速实现双向好友功能
之四在朋友圈中添加发送图片功能
之五点赞、评论属性详细解析
之六快速实现下拉加载朋友圈功能
之七快速实现上拉加载朋友圈功能
之八页面加载功能的逻辑与实现
转载于:https://blog.51cto.com/arrownock/1718786
相关文章:

使用cat /proc/进程id/maps 查看进程内存映射
proc/<PID>/maps 查看进程的虚拟地址空间是如何使用的。 该文件有6列,分别为: 地址:库在进程里地址范围 权限:虚拟内存的权限,r读,w写,x,s共享,p私有; 偏移量:库在进程里地址范…
两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告
整理 | 郭芮 责编 | 唐小引 出品 | CSDN(ID:CSDNnews) “求知若饥,虚心若愚”——这个原本出自《全球概览》的俳句,因为乔布斯在斯坦福大学毕业演讲中的引用而备受推崇,流传成为 IT 界的至理名言之一。在…

怎么处理404 错误页面 、处理404页面、asp.net 处理404页面
说明 On 指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。 Off 指定禁用自定义错误。这允许显示标准的详细错误。 RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。 system.web 元素 下添加下边…

转载:python原生态的输入窗口抖动+输入特效
python原生态的输入窗口抖动输入特效 出处:https://coding.net/u/acee/p/PythonPowerInput/git/blob/master/test_power_input.py __author__ Administrator import sys from lib.qm_app import App from PyQt4.QtGui import * from PyQt4.QtCore import * import …
华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020...
作者 | VincentLee来源 | 晓飞的算法工程笔记导读:为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(continuous evolution architecture search, CARS),最大化利用…

在.Net Micro Framework中显示汉字
摘要:MF平台支持的字体是专有格式,扩展名为tinyfnt,需要用专门的转化工具才能把windows平台上的字体转换为tinyfnt字体。在.Net Micro Framework SDK中提供了一个叫做TFConvert.exe的工具,我们可以用它在命令行下将PC机上的TrueType或者OpenT…

汇编语言使用C库函数和Linux动态链接
使用printf 代码 #cpuid2.s -- Using C labrary calls .section .data output: .asciz "The processor Vender is %s\n".section .bss .lcomm buffer, 12 .section .text .globl _start _start: movl $0, %eax cpuid …

springJDBC实现查询方法二
无废话,看代码: Overridepublic List<Sites> queryAllSites(Pager pager) {String sql "select * from sakai_site order by SITE_ID limit ?,?";Object[] obj new Object[]{pager.getStart(),pager.getLimit()};List<Sites> …

全球计算机视觉顶会CVPR 2020论文出炉:腾讯优图17篇论文入选
全球计算机视觉顶级会议CVPR2020 (IEEE Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议) 即将于2020年6月14日-19日在美国西雅图召开。本届大会总共录取来自全球论文1470篇,腾讯优图实验室入选17篇。 作为…

gcc使用总结
1.基本选项 -o 指定输出文件名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 # cc -o XX XX.c -c 编译、汇编到目标代码,不进行链接 -v 打印较多信息,显示编译器调用的程序。 -E 仅作预处理,不进行编译、汇编…

websecurity - Web Security Testing Framework 超级牛B扫描器
Windows – Websecurify 0.3.exehttp://websecurify.googlecode.com/files/Websecurify%200.3.exeLinux – Websecurify 0.3.tgzhttp://websecurify.googlecode.com/files/Websecurify%200.3.tgzMac – Websecurify 0.3.dmghttp://websecurify.googlecode.com/files/Websecurif…

C中的qsort函数和C++中的sort函数的理解与使用
一、qsort()函数 原型:_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); 参数解释:1、待排序数组首地址;2、数组中待排序元素数量;3、各元素的占用空间的大小;4、指向函数的指…
机器学习新闻综述:2019年AI领域不得不看的6篇文章
作者 | Limarc Ambalina翻译 | 火火酱,编辑 | Carol出品 | AI科技大本营(ID:rgznai100)在这篇机器学习新闻综述中,我们将回顾一些2019年以来在人工智能各个领域广泛传播或产生影响的重大新闻。此外,我们还将…

GDB attach到进程
要调试守护进程等已经启动的进程或是调试陷于死循环的进程可以使用attach命令 格式 attach pid C语言代码 #include <stdio.h> int main(void) { int marks[10]; int i; for(i0;i<12;i) { scanf("%d",&marks[i]); …

Chrome使用技巧和编辑框拖动怪问题。
常用快捷键:ctrlshiftt 重新打开刚关闭的网页ctrlh 打开历史记录ctrl 放大。ShiftEscape 查看任务管理器据说Chrome能调整编辑区大小,我没发现。倒发现Chrome一个问题,选中编辑框中的文字,一直拖动鼠标&a…

Linux中断研究
2019独角兽企业重金招聘Python工程师标准>>> 研究linux系统,不管是做驱动、协议栈还是进程调度等等,都离不开中断。这说明,要想编写正确的linux代码,不了解中断是不行的。 话说曾几何时,在大学的课堂里&…
linux环境内存分配原理
Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munm…
大脑芯片公司Neuralink计划在人脑内植入芯片,他们到底想干什么?
作者 | James Murphy翻译 | 火火酱,编辑 | Carol出品 | AI科技大本营(ID:rgznai100)说实话,科幻电影在遇到Neuralink时也不得不甘拜下风。2019年7月,埃隆马斯克(Elon Musk)宣布,他的公司正在研发…

判断链表是否存在环(及其延伸)
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点…

iOS跳转到各种系统设置界面
定位服务 定位服务有很多APP都有,如果用户关闭了定位,那么,我们在APP里面可以提示用户打开定位服务。点击到设置界面设置,直接跳到定位服务设置界面。代码如下: //定位服务设置界面 NSURL *url [NSURL URLWithString:…

Linux内存管理大图(第三稿)
网友画的还不错就转了 ,该作者一共画了3版 v0.1 v0.2 v0.3 原文地址:http://bbs.chinaunix.net/thread-2018659-1-1.html

VNC的安装与使用
VNC的安装与使用。 说明:文章内容比较简单,献给那些初学者作为参考。 文章分为两部分,第一部分为VNC简介,第二部分为VNC的安装与使用。 文章为小弟结合书籍与小弟的实际操作总结出来的,如有错误与疏漏之处…
百度「AI战疫」:首次开源肺炎CT影像分析AI模型,让诊断从分钟到秒
自疫情爆发以来,多家科技公司纷纷加入了抗击疫情的战役中。 其中,排查疫情是这场战役的重中之重,而 CT 影像已成为新冠肺炎筛查和病情诊疗的重要依据。 然而,在当前疫情诊疗的关键时期,存量患者和新增患者总体数量庞…

Linux_DNS服务器
目录 目录DNS DNS ServerServerSite Master DNS ServerForward DomainReverse Resolution Slave DNS ServerForward lookupReverse lookupSplit DNS ServerDNS DNS(Domain Name System,域名系统),在Internet上作为域名和IP地址映射的一个分布式数据库&am…
多场景下的AI疫情防控“天网”:解读云边端联动下的全栈AI技术
在全民抗疫的特殊时期下,伴随着春运返潮,企业陆续复工,从重点防控的机场、火车站等场所,到学校、企业、社区等密集型场所,都是不能忽视的地点。除了人工逐一测量体温排查外,我们还发现,在人员复…

DHCP配置与DHCP中继代理2
实验二:<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />Step1、配置DHCP中继代理1) 打开“管理工具”→“路由和远程访问”窗口,启用路由和远程访问,按向导提示完成操作。<?xml:namespac…

查看CPU是i386架构和x86_64架构
查看处理器是32位还是64位 #cat /proc/cpuinfo 检查flags行中有没有lm标记,lm是Long Mode的简写,表示支持64位模式。 #getconf LONG_BIT 输出:32 #getconf WORD_BIT 输出:32 32位的系统中int类型和long类型一般都是4字节&…

malloc一次性最大能申请多大内存空间
受用户态内存地址空间的限制。64 位系统下分配几个 T 不成问题。 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:zz matrix链接:http://www.zhihu.com/question/20836462/answer/22833295来源:知乎考…

MD5算法之C#程序
MD5算法比较特别,最适合用汇编语言来写,好多高级语言对之无能无力或效率极低。 比如我最开始尝试用Python和Euphoria编写,发现不太容易。相比而言,C#作为C家簇 中新兴的一门.net语言,功能比较全面。花了一晚上的工夫终…

unix环境汇编语言常用工具
汇编器 MASM:微软的汇编器不支持unix NASM:unix环境下兼容微软平台 GAS:GNU 的免费软件包,unix环境下最流行跨平台汇编器 安装GNU汇编器 检查binunits RedHat #rpm -qa |grep binunits Debian #dpkg -l|grep binunit 下载地…