接口的设计
App 和服务器的接口要设计好,得同时考虑安全、数据和版本。REST 无状态,每次请求都要带身份;数据用 JSON 六种类型就够;接口会变,必须先想好版本怎么叠。 一、安全机制的设计 大部分 App 接口走 RESTful。最重要的原则是请求之间无状态:涉及用户状态时,每次都要带身份验证。常见是 t…
App 和服务器的接口要设计好,得同时考虑安全、数据和版本。REST 无状态,每次请求都要带身份;数据用 JSON 六种类型就够;接口会变,必须先想好版本怎么叠。 一、安全机制的设计 大部分 App 接口走 RESTful。最重要的原则是请求之间无状态:涉及用户状态时,每次都要带身份验证。常见是 t…
Retrofit 是 Square 做的 Android / Java REST 客户端。写法简单,GET、POST、PUT、DELETE 等都用注解声明,比很多网络库更容易上手。 一、简介与三件套 一次请求通常拆成三块: 1. POJO / 模型 服务器 JSON 填进这类实例: public c…
Glide 是 bumptech 写的图片加载库,Google 官方应用也在用。它和 Picasso 大约九成相似,但默认 RGB_565、按 ImageView 尺寸解码、磁盘缓存策略和 GIF 支持都不一样。本篇对照 API、内存、画质和包体积,说明什么时候更该用 Glide。 在泰国举行的谷歌…
完成一个下载任务只需要 4 行代码。断点续传、大文件、通知栏进度,都可以交给系统 DownloadManager(API 9 起就有),不必自己维护连接。 一、简单使用:四行入队 //创建下载任务,downloadUrl就是下载链接 DownloadManager.Request request =…
从 HTTP 请求包结构开始,走到 Get/Post、HttpClient 与 HttpURLConnection、同步异步、缓存、Volley/OkHttp、Retrofit,最后落到图片三级缓存和 Fresco/Glide。 这是一条「网络请求心路」:先把报文和状态码看明白,再一层层换成更省事的…
异步加载、缓存、显示网络图,不必每次从零写。下面对比 Universal-Image-Loader、Picasso、Android-ImageCache-Warmtel、Glide 和 Fresco,方便按项目选型。 一、Android-Universal-Image-Loader 开源 UI 组件…
一直想对Android网络请求进行整理,刚好看到这篇文章,分享如下希望对您有所帮助. 一直想对Android网络请求进行整理,刚好看到这篇文章,分享如下希望对您有所帮助. HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还…
在 Android加载网络图片 一章里,滚动列表会反复触发异步任务重新下载,既费流量体验也差。显示前先查缓存:内存缓存用 LruCache,文件缓存用 DiskLruCache。 一、内存缓存 LruCache Lru 是最近最少使用。先定缓存上限,空间不够时按 Lru 回收最久没用的 Bitmap…
加载网络图片和加载字符串类似:走 Http 拿到 InputStream,再用 BitmapFactory.decodeStream。耗时必须放异步任务。列表多图时还要处理滚动错位:把 AsyncTask 绑到 ImageView 上,按 URL 决定取消还是复用。 一、从 URL 解码 Bitma…
JSON 是轻量级数据交换格式,完全独立于语言的文本,人好读、机器好解析。支持 C、C++、C#、Java、JavaScript、Perl、Python 等。对象是无序的「名称/值」集合:{ 开始 } 结束,名称后跟冒号,对之间用逗号分隔。 一、JSON 书写格式 映射用冒号:名称:值 并列数据用逗…