本文将从类图和一次完整的同步网络请求角度分析OKHttp。如有不妥,欢迎指正。 类图 Okhttp.png 该类图不是很完整,但是包含了一次请求涉及的类。 GET请求过程 OkHttpClient client = new OkHttpClient(); //1 //新建一个Request对象 Request request = new R ...
接触了一段时间RxJava,对它的原理还是有些模糊,打算看下它的源码。 支持原创,转载请注明出处。 RxJava构造数据的方式大概有三种: 1.create方法 ObservableString observable = Observable.create( new Observable.OnSubscribeString() { @Override publi ...
研究了两个小时,终于让我明白了Retrofit和RxJava是如何结合在一起的,分享给大家。本文将会从源码角度来看这两个家伙是如何配合的。阅读前请确保理解Retrofit源码和RxJava的基本使用。 类图 RetrofitRxJava.png 使用场景 //创建接口 public interface IShot ...
老规矩,先上图。 类图 Retrofit.png 实例 public class LearnRetrofit { public static final String API_URL = https://api.github.com ; //创建接口 public interface GitHub { @GET ( /repos/{owner}/{repo}/contributors ) CallResponseBody contributo ...
微信小程序面世以来受到的关注颇多,直到最近我才动手尝试进行了小程序的开发,总体上感觉还是不错的,有一点不适应的就是要摆脱Web APP开发对DOM的操作。在这里我就把我是如何利用API开发微信小程序的过程写成教程,教大家快速上手体验一次微信小程序的开发 ...
你有没有发现,点击安卓手机桌面上的App图标时,有时候应用马上进入主界面,有时候要经历好几秒甚至更久的白屏(也可能是黑屏)时间才能进入主界面呢?这其实是安卓应用常见的冷热启动问题。本文就和大家一起聊聊冷热启动方式和启动页的体验优化方案。 启动 ...
接下来我就以一个简单风格的自定义Dialog来讲讲自定义dialog的一般步骤和原理 第一步: 给Dialog设置一个风格主题(基本都是用这个主题)无边框全透明背景 !--自定义dialog背景全透明无边框theme -- style name=MyDialog parent=android:style/Theme.Dialog ! ...
摇一摇换图: 1.获取手机的传感(相当于计步器): mSensorManager = (SensorManager) getSystemService( SENSOR_SERVICE ) ; 2.调用手机中的震动;在换图的时候可以很好的提醒: mVibrator = (Vibrator) getSystemService(Service. VIBRATOR_SERVICE ) ; 3.给 ...
1、为什么APP启动时会出现白屏或者黑屏? 当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统要做什么呢?如果没有任何反应的话,如果程 ...
基本概念 安卓平台提供对蓝牙的通讯栈的支持,允许设别和其他的设备进行无线传输数据。应用程序层通过安卓API来调用蓝牙的相关功能,这些API使程序无线连接到蓝牙设备,并拥有P2P或者多端无线连接的特性。 蓝牙的功能: 1、扫描其他蓝牙设备 2、为可配对的蓝 ...