程序员

Android屏幕适配与资源匹配

Android屏幕适配是个头疼的问题,同时关于这方面的讲解也是烂大街了,那么为什么还要写这篇博文呢,一方面是想基于Google官方教程和个人开发中的经验总结一份准确精炼的教程,另一方面也是作为一个知识备份。 那么,通过本文你可以学到以下这些: 1.Android界面开发中的那些名词的概念2.如何和一…

程序员

iOS调度源

当和底层系统交互时,必须花费大量时间为任务做好准备。调用内核或者其他系统层需要切换上下文,这也是比在进程内部调用昂贵的原因。因此,许多系统库提供异步接口,允许您的代码提交请求到系统,且请求执行时继续做其他工作。GCD允许您使用块和调度队列提交请求并将结果返回到您的代码来建立这种行为。 关于调度源 调…

程序员

XMPPFramework开发(四):电子名片

前言 上一篇博客中我们说到如何通过XMPPFramework中的代理方法来获取到好友节点数据信息,但是我们发现节点信息能展示的只有JID,所以今天我们就说一下在XMPPFramework如何设置名片信息以及如何获取自己的和好友的名片信息. 注册时候的头像的设置 XMPP中的电子名片简介(来自网络&#…

程序员

SDWebImage 笔记

项目中一直都有使用SDWebImage,对这个框架有一定的了解,但是体系却未能贯通,因此特地整理下,主要参考: iOS 源代码分析 — SDWebImage SDWebImage源码剖析(-) SDWebImage源码剖析(二) 一、简介: SDWebImage是一个异步下载图片并且支持…

程序员

State设计,Redux 开发第一步

State是整个应用的数据,本质上是一个普通对象。State决定了整个应用的组件如何渲染,渲染的结果是什么。可以说,State是应用的灵魂,组件是应用的肉体。 所以,在项目开发初期,设计一份健壮灵活的State尤其重要,对后续的开发有很大的帮助。请注意,并不强制要求所有的数据都保存到State中,有…

程序员

XMPPFramework开发(三):好友列表

搞事前言 前一篇博客,我们对XMPPFramework的登录注册功能以及逻辑做了详细的说明,用户登录完成之后,我们需要做的就是获取到当前账号的好友列表和个人信息,今天这一篇博客就是对好友列表的相关逻辑以及代理方法来做一下讲解说明.我们先看看SDChat中的好友列表示意图. XMPPFramework…

程序员

瀑布流的实现分析

本文实现的是流水布局的效果,如上图所示。 图片发自简书App 图片发自简书App 瀑布流的实现方式大致有三种方式: 第一种,利用多个tableVIew来实现,但是这种方法太笨太low,一般不建议采用。 第二种,利用scrollView,在scrollView上加几张view,给这几张view绑定几个…