接口的设计
App 和服务器的接口要设计好,得同时考虑安全、数据和版本。REST 无状态,每次请求都要带身份;数据用 JSON 六种类型就够;接口会变,必须先想好版本怎么叠。 一、安全机制的设计 大部分 App 接口走 RESTful。最重要的原则是请求之间无状态:涉及用户状态时,每次都要带身份验证。常见是 t…
App 和服务器的接口要设计好,得同时考虑安全、数据和版本。REST 无状态,每次请求都要带身份;数据用 JSON 六种类型就够;接口会变,必须先想好版本怎么叠。 一、安全机制的设计 大部分 App 接口走 RESTful。最重要的原则是请求之间无状态:涉及用户状态时,每次都要带身份验证。常见是 t…
Glide 是 bumptech 写的图片加载库,Google 官方应用也在用。它和 Picasso 大约九成相似,但默认 RGB_565、按 ImageView 尺寸解码、磁盘缓存策略和 GIF 支持都不一样。本篇对照 API、内存、画质和包体积,说明什么时候更该用 Glide。 在泰国举行的谷歌…
从 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 书写格式 映射用冒号:名称:值 并列数据用逗…
Http 传中文参数乱码,多半是客户端和服务端编码不一致。做法很简单:两端统一成 UTF-8。Tomcat 默认是 ISO-8859-1,不支持中文,不处理就一定乱码。 一、服务端:转码或改 Tomcat 先统一客户端和服务端编解码为 UTF-8。若请求已经按 ISO-8859-1 读进来,可在业务…
Android 联网先拿回数据再解析。HTTP 协议可参考 深入理解HTTP协议。动手前在 manifest 加权限,检查网络是否可用,并把请求放到 UI 线程之外(常用 AsyncTask)。客户端多用 HttpURLConnection,也可用 Apache HttpClient。 一、权限与网…