MrFu Blog

我叫傅圆,我是一名 Android 开发者.

“Retrofit Analysis"

Keynote: A finger tips of RxJava

下滑这里查看更多内容 Retrofit 这是我在我们无线内部技术分享会上分享的一篇关于 Retrofit 的文章,做成了 Keynote 的形式。 Watch Slides → 你也可以通过扫描二维码在手机上观看 去 star 我的 Github Thanks Retrofit分析-漂亮的解耦套路 Retrofit分析-漂亮的解耦套路v Reveal.js

Glide - 系列综述

Glide — Series Roundup

从开始我们的 Glide 图片加载库系列以来已经过去相当长的时间了。随着时间的推移,这个短系列变得越来越长。我们很感谢你的持续关注和反馈。我们希望你能像我们一样学到很多。让我们回顾一下我们所涵盖的主题。我们强烈推荐你花上一分钟时间通过这个列表来确认你都从这个 Glide 系列中学到了些什么。 图像基础,用 Glide 加载 Gif 和 Video 我们从简单介绍和演示了 Glide 加载...

Glide - 如何旋转图像

Glide — How to Rotate Images

不久前,我们有一个问题是如何用 Glide 旋转图像,因为 Picasso 提供了这个方法 out-of-the-box。不幸的是,Glide 并不提供这样的小方法的调用,但是在这个博客中我们将会告诉你怎么做的跟它一样简单。 如果你需要关于 Glide 的更多内容,浏览我们这些博客列表: Glide 系列浏览 开始! 加载进阶 ListAdapter(ListView, ...

Glide - 动态使用 Model Loader

Glide — Dynamically Use Model Loaders

在上篇博客中,你已经看到了如何声明和配置一个 Glide module,它在请求中增加了图像大小。这是非常有用的优化。然而,重要的是要知道,声明 Glide module 总是主动的。默认情况下,你不能动态的打开或者关闭它们。 在这篇博客中,你会学到如何去注册对当个请求去一个自定义的 model 加载器。 Glide 系列预览 开始! 加载进阶 ListAdapter(L...

Glide - Module 实例:用自定义尺寸优化加载的图片

Glide Module Example: Optimizing By Loading Images In Custom Sizes

过去几周,我们已经看到了用 Glide module 来为 Glide 做各种各样的自定义。今天我们将会为你展示最后一个实例,但这可能是最有趣的一个了:从你的服务端在指定的尺寸下如何去请求图片。 Glide 系列浏览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 ...

Glide - Module 实例:自定义缓存

Glide Module Example: Customize Caching

在上篇博客,我们用一个自定义的 HTTP 客户端设置了自己的 Glide module,它接受一个自签名的 HTTPS 证书。这周,我们仍然停留在低水平上去定制一个 Glide 组件的缓存。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Vi...

Glide - Module 实例:接受自签名证书的 HTTPS

Glide Module Example: Accepting Self-Signed HTTPS Certificates

在上篇博客中,你已经学会了 GlideModules 的基础。它们提供了一个易于访问的一些 Glide 的核心的基础功能。你通过实现和声明 GlideModules 可以快速修改 Glide 的行为。上周我们也将图像的质量改的更高了通过使用 applyOptions() 方法。这周,我们会用其他方法:registerComponents(),去修改 Glide 网络栈从 self-signe...

Glide - 用 Module 自定义 Glide

Glide — Customize Glide with Modules

上周,我们已经看了你如何为你的 Glide 加载图片而设置各种网络栈。在内部,为网络栈的 集成库 甚至都不需要做其他的声明,比如一个 GlideModule,它明显的定制了一个 Glide 的行为。这篇博客中,我们会给你一个 GlideModule 的概述。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 ...

Glide - 集成网络栈

Glide — Integrating Networking Stacks

在学习了加载和显示图像的各种选项之后,来看看为 Glide 改变基本的网络栈吧。该指南假定你正在使用 Gradle。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓存基础 请求优先级 缩略图 回调:SimpleT...

Glide - 用 animate() 自定义动画

Glide — Custom Animations with animate()

上周,我们看了图像在显示之前做了转换。这周我们用动画选项来显示图像。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓存基础 请求优先级 缩略图 回调:SimpleTarget 和 ViewTarget 用于自定义...

Glide - 自定义转换

Glide — Custom Transformations

Glide — Custom Transformations 在前面12篇博客中,你已经学到了运用 Glide 标准功能所要求的基础知识。从这篇博客开始,我们将深入研究一系列进阶的话题。这周,我们将仔细看看所谓的转换。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩...

Glide - 异常:调试和错误处理

Glide — Exceptions: Debugging and Error Handling

Glide 的所有基本概念已经都介绍过了,我要来看看开发者的议题。这篇博客中,我们会向你展示一些有用的方法来帮你调试可能会遇到在用 Glide 去加载图片的时候可能出现的问题。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓...

Glide - 加载图片到通知栏和应用小部件中

Glide — Loading Images into Notifications and AppWidgets

上周,我们已经奠定了加载图片到 Glide target 的基础。如果你还没有读过,请预览内容,为学这篇文章打一个基础。这周我们要继续增加2个额外的特殊用途的 target: 通知 和 应用程序小部件。如果你需要去加载图片到这两个中的一个,请阅读! Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动...

Glide - 回调:SimpleTarget 和 ViewTarget 用于自定义视图类

Glide — Callbacks: SimpleTarget and ViewTarget for Custom View Classes

在前三篇博客围绕着 Glide 做了优化并提高了用户体验,在接下来的几篇博客中将会用到 Glide 的回调技术。目前为止,我们总是假设我们要加载图片或者 Gif 到 ImageView 中。但这并非总是如此。这篇博客中,我们将看看没有指定一个 ImageView 而来获取图片资源的 Bitmap 的方法。 Glide 系列预览 开始! 加载进阶 ListAdapter(Li...

Glide - 缩略图

Glide — Thumbnails

在过去几周,我们已经看了当加载和显示图像时如何优化用户体验的方式。对于流畅的用户体验来说,缓存和图像优先级已经迈出了一大步。然而,如果图像是非常大的,处理的过程需要一段时间才能显示。在这篇博客中,我们会探讨缩略图作为另一个优化选项。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设...

Glide - 请求优先级

Glide — Request Priorities

上周,我们看了图片加载极其重要的一个部分:缓存!如果你错过了,值得你再去看看。这周,我们将整理 Glide 的另一重要功能:按优先级顺序请求图像。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓存基础 请求优先级 缩...

Glide - 缓存基础

Glide — Caching Basics

当我们看了加载,显示和处理图像后,我们将会继续进行优化的进程。图像成功和高效加载的一个很基础的功能是缓存!在这篇博客中,我们将整理在 Glide 中的缓存基础。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓存基础 请求...

Glide - 显示 Gif 和 Video

Glide — Displaying Gifs & Videos

在以前发表的博客文章中我们已经看到可以从各种来源来显示图片。我们学到了如何去处理图像的显示,改变大小和用标准选项缩放图像。这篇博客将会告诉你一个独特的功能:显示 Gif 和本地视频。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video ...

Glide - 图片重设大小 和 缩放

Glide — Image Resizing & Scaling

在前几篇博客中,你已经知道如何从不同的资源中加载图片,以及哪些不同的方式的占位符。这周的博客是重要的,如果你不能支配图片的大小去加载:调整大小和缩放。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓存基础 请求优先级 ...

Glide - 占位符 和 渐现动画

Glide — Placeholders & Fade Animations

在你学习了如何从所有资源中加载图片之后,这周都是关于占位符,在图片加载出来之前的连接时间。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 显示 Gif 和 Video 缓存基础 请求优先级 缩略图 回调:SimpleTarget 和 ViewT...

Glide - ListAdapter(ListView, GridView)

Glide — ListAdapter (ListView, GridView)

这个系列的前两篇博客已经展示了如何去加载一张图片到一个 ImageView中。这篇博客将会演示 ListView 和 GridView 的 adapter 中实现。每个单元格包含一个 ImageView。这有点类似于 很多图片画廊应用。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片...

Glide - 加载进阶

Glide — Advanced Loading

上周我们了解了用 Glide 的理由和简单的示例来加载一个来自网络的图片。但这不仅仅 Glide 的唯一加载来源。Glide 也能从 Android 资源,文件和 Uri 中加载。在这篇博客中,我们将涉及这三个选项。 Glide 系列预览 开始! 加载进阶 ListAdapter(ListView, GridView) 占位符 和 渐现动画 图片重设大小 和 缩放 ...

Glide - 开始!

Glide — Getting Started

译者注:原文Glide — Getting Started 在我们的 Picasso 系列收到很多成功的反馈后,我们要开始延伸另外一个令人惊讶的图片加载库系列:Glide。 Glide,就像 Picasso,可以从多个源去加载和显示图片,同时也兼顾缓存和在做图片处理的时候维持一个低内存消耗。它已经在 Google 官方 APP (如 Google 2015开发者大会的应用程序)中...

Response gzip 解压的问题

问题描述 在项目中使用了 retrofit 和 OkHttp 之后,服务端返回的数据都是被压缩的,导致 OkHttp 不能解析数据 问题排查 在此之前,通过调用 API 服务端下发的数据都是 gzip 压缩的,但是 response 的 header 里面并没有 Content-Encoding:gzip 的 header 头。以前在使用 HttpURLConnection 类的时候,...

RxWeekend

RxJava 的周末狂欢

周五的时候就打算这个周末就看 RxJava 了,于是利用一个周末的时间把咖啡变成了文字,对,就是咖啡,不是啤酒和炸鸡,周六把 RxJava Essentials 英文版再看了一遍,顺便看了一遍翻译版,周日把小鄧子的博客以及他引述的其他文章全部看了一遍。 Part1 部分主要是 RxJava Essentials 的操作符 Part2 部分主要是一些 tips 对于Part1我更建议你先...

2016年,学习目录

2016-01-03 15:46:00 2016年,学习目录 并不是做学习计划,只是想统计一下新一年的学习工作任务,好让年底的时候,也有个数 目前进行中的计划: ESL_Pod 《English as a second language podcast presents – Introduction to the United States》截止2015年12月31日:学到...

Android Scroll 分析

《Android 群英传》读书笔记

链接 Android 控件架构与自定义控件详解 这是我重读《Android 群英传》的时候做的读书笔记,这里主要讲了 Android 坐标系和视图坐标系,以及实现滑动的多种实现方法。 Android 坐标系和视图坐标系 区别 Android 坐标系:左上角作为原点,由 getLocationScreen(int location[]) 获取点的位置,或...

Android 控件架构与自定义控件详解

《Android 群英传》读书笔记

链接 Android Scroll 分析 这是我重读《Android 群英传》的时候做的读书笔记,在 View 这块,医生讲解真的非常深入浅出,非常值得一读,并且多次重读。 架构: PhoneWindow 将一个 DecorView 设置为整个应用窗口的根 View,这里面所有 View 的监听事件,都通过 WindowManagerService 来接收。Dec...

Effective Java 笔记

这个是我在看原版《Effective Java》的读书笔记,略作笔记,方便记忆。英文版看起来还是有点吃力,慢慢看!坚持看完!也算是阅读的第一本原版技术书了。 Item 1:考虑用静态工厂方法来替代构造方法 一个类可以提供一个公开的静态工厂方法,它只是返回一个该类的实例。如下是一个简单的例子,这个方法将一个 boolean 的基本类型转变成了一个 Boolean 对象的引用: p...

初窥 Android 模拟器 2.0,这些年来最大最棒的更新

First Look at Android Emulator 2.0, the biggest and the best update yet in years

原文地址:初窥 Android 模拟器 2.0,这些年来最大最棒的更新 翻译原文:First Look at Android Emulator 2.0, the biggest and the best update yet in years 我相信,所有的 Android 开发者都会同意 2015年 Android 开发者大会发布的最大的消息是 Android Stud...

保持 EditText 的简洁

在 Android 中对你所有的 EditText 实现文本监听

原文地址:保持 EditText 的简洁 翻译原文:Keeping it clean 项目地址(欢迎 Star):ClearEditText 在 Android design support 包中提供了一种在输入不合适字符时一直显示的提示方式来显示,现在已经开始在更多的应用上被使用了;这些 Android app 在显示他们的错误提示时采用的不同的方式常常让...

RxJava 入门

Getting Started with RxJava and Android

原文地址:RxJava 入门 翻译原文:Getting Started with RxJava and Android 什么是 ReactiveX? ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。 实时数据处理是一件普通的现象,有一个高效、干净和可扩展的方式来处理这些情景是重要的。...

指尖上的RxJava

Keynote: A finger tips of RxJava

下滑这里查看更多内容 RxJava 这是我在我们无线内部技术分享会上分享的一篇关于响应式编程以 RxJava 的形式应用在 Android 上的文章,做成了 Keynote 的形式。 Watch Slides → 你也可以通过扫描二维码在手机上观看 去 star 我的 Github Thanks Reveal.js huangxuan

百分比布局支持库

RelativeLayout 和 FrameLayout 的尺寸用 % 来表示

原文地址:百分比布局支持库 参考原文:Percent Support Library: Bring dimension in % to RelativeLayout and FrameLayout 虽然有很多的布局可以在 Android 应用程序开发的世界供我们使用,但我们总是只用这三种布局:LinearLayout, RelativeLayout and FrameLa...

Never Read The Comments

永远不读评论

原文链接:Never Read The Comments 前言 翻译的…嗯…双语在下面…. 作者 Sarah Adler: spoonuniversity网站的创始人之一,现在是spoonuniversity的CTO。更多简介可以看这里Sarah Adler 她和她的合伙人 Mackenzie Barth (女) 共同创办了这个在线网站 ,这篇文章是关于她在 Faceboo...

让你的 EditText 全部清除

原文地址:让你的 EditText 全部清除 参考原文:Giving your Edit Texts the All Clear 项目地址(欢迎 Star):ClearEditText 在输入文本的时候,通常当前输入的地方的末尾会有一个 ‘x’ 来结束,它的作用是,如果我们想要清空这一整行输入的时候,点一下 ‘x’ 就可以了。它的存在,还是很有必要的。 然后,...

基于Material Design 风格的海狐全球购 尝试篇

本文最初发表在公司内的 wiki 上,为方便以后查阅,在这里也做一份备份 前言 在你的 Android 手机里,是否存在着各种风格迥异的 APP,有阿里系“淘宝”“支付宝”类似的长相 iOS 风格的Android 应用,也有获得Google “Best-In-Class Android Design”推荐的完全 Android 风的 “印象笔记(Evernote)”,当然还有像“...

To MissFuFuFu

这是写给傅方圆的简历指导…就当备注咯,嗯,留着吧,懒得删了 基本信息 XXX 女 23岁 手机: XXXX E-mail: XXXXXX@gmail.com XXXX大学日语专业毕业 应届 专业技能 日语...

Hello, this is my new theme of blog

最近翻译了两篇 The Cheese Factory 的 blog,所以,这家网站上的略微多了点,然后一不小心在看 jekyll 主题的时候发现了现在使用的这个主题,顺藤摸瓜,找到了这个 Clean Blog,是从 jekyll 的一个主题网站 jekyllthemes 的 jekyllthemes – Clean Blog 上看到的,又顺藤摸瓜(大夏天的,老是摸瓜…)在知乎上看到了 黄玄 ...

一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5

译者地址:【翻】一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5 原文:First Look at New Android Gradle Build Tools: The new DSL structure and Gradle 2.5 双语对照地址: 【翻-双语】一览新的 Android Gradle 构建工具:新的 ...

【翻-双语】一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5

译者地址:【翻】一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5 原文:First Look at New Android Gradle Build Tools: The new DSL structure and Gradle 2.5 双语对照地址: 【翻-双语】一览新的 Android Gradle 构建工具:新的 ...

Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

译者地址:【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session—-Make your app fancy with few lines of code...

【翻-双语】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

译者地址:【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session—-Make your app fancy with few lines of code...

Records——VOA Special English

Records VOA Special English VOA Special English: Words And Their Stories —- records blog This article is used to record the learning Words And Their Stories. Record content: study time, article ...

LinearLayout设置 weight 无法绘制的问题

项目地址:ChildLayout 一. 问题起因: 新项目中首页有这么一个需求:看布局: 主要就是“大牌专场”这个栏目的布局问题,呈现一个,左——右上——右下 的形式,因为不能像 iOS 那样直接根据 UED 给的标注来写死布局尺寸,Android 混乱的分辨率决定了这个布局需要采用 android:layout_height="wrap_content" 的形式来决定它的高。 二...

一个方便的图片加载框架——ImageViewEx

一、前言 最近在整理项目中的一些代码,以备即将开展的新项目中使用,刚刚整理到一个图片加载的 lib,用起来非常的简单,和 picasso 或者谷歌的 Volley 等都一样,只需要一行代码就能完成图片加载的逻辑。 项目地址:ImageViewEx 项目效果: 二、使用 先给出使用方法:首先在布局文件中加入如下代码: <mrfu.imageviewex.lib.ImageVi...

英语学习的计划调整

嗯,昨晚在扇贝上看到一篇文章,简直获益匪浅,这段时间来一直在纠结英语学习的效率不够高,根据 扇贝 的打卡记录来看,到今天为止已经连续164天的英语学习了,也就是将近半年了。但是根据我的学习反馈来看,目前看 扇贝新闻 上的分类标签为高中的文章相对比较容易,越往上就越难,’相对’的意思非常模糊,因为很多时候,我只能对文章做一个大概的理解,很多句子我并不能准确的理解其意思。 文章地址在这里 打卡...

KopDB 框架学习2——源码分析

上次我们主要是对 KopDB 框架的使用进行了分析,它是非常简单有用的。这次主要是对它的源码进行分析,进一步的来了解它的真面目。 点击这里去往 “KopDB 框架学习1——使用” 因为 KopDB 采用的是对象关系映射(ORM)模式,即我们使用的编程语言是面向对象语言,而我们使用的数据库则是关系型数据库,那么将面向对象的语言和面向关系的数据库之间建立一种映射关系,这就是对象关系映射了。 ...

KopDB 框架学习1——使用

前言 最近项目中要用到数据库,因为之前需要本地存储的数据量并不是非常大,SharedPreferences 足以解决大部分的数据存储问题,所以,我们一直没有用到 SQLite。现在产品需要优化私信模块体验,所以增加私信本地存储是非常必要的。这时候用上 SQLite 就非常必要了。好在我们的老大之前就已经封装好了一份非常完善的数据库框架了,拿来就能用。看了源码研究了一天,大概有了写心得体会,整...

浏览我旧的博客

我就不将我旧时的博客克隆过来了,主要有两个原因: 我想偷懒 我想偷懒 我想偷懒 …… 点击这里进入我的CSDN博客 下面是博客的具体文章,我在这里列出来: Android Android 学习(一) Android学习(二):解析JSON,GSON,FASTJSON;JDBC编程 Android...

Hello, This is my first blog~~

My name is Yuan Fu, I’m from China, developement Android of my job. Recently, I am learning English. Yes, Just you look it, My English is very bad, I had learning Enligsh 153 days, you can see here...