Rxjava的helloWorld
2016-06-29 19:42
489 查看
一、什么是RxJava
RxJava是ReactiveX(响应式编程)中使用Java语言实现的版本,目前基本上主流的语言都已经有了对应的ReactiveX实现版本。可是知道这些也只能是一个大写的懵逼……
我觉得直接先扔出一个RxJava的helloworld的demo然后给大家进行分析
由于本人是在android中用到,所以给出的是android的demo
二、helloword
主要的代码:
布局文件内容
我使用的android studio,然后需要在当前APP的gradle中加入两个依赖jar
版本可以有所不同。
接下来看运行效果
而且在控制台会看到
看到这里,读者也许会有一点模糊的定义,其实没有也没关系,本人刚接触时也是这样。
三、个人的见解
接下来就分析分析这个demo。
在这个demo中眼生的代码就只有三行
我对这三句代码的理解就是包含了RxJava中的最重要的两个东西
Observable:被观察者、事件源
Subscriber:观察者、订阅者
observable.subscribe(subscriber ):两个重要部分的关联。
详细的注释我就写在代码中了
接下来给大家分析在订阅者中重载的三个方法的作用。
大家也看到了在控制台输出的语句,调用的顺序是先onNext在onComplete,根据我查阅的资料是这样介绍的,SubScriber(订阅者)在观察到Observale(被观察者)后有逻辑业务时调用onNext,onNext调用结束后,会调用onComplete(无异常时调用)或onError(有异常时调用)。
helloWorld的学习就到这里了,本人也处于学习状态,日后后逐步完成关于RxJava更多的知识
RxJava是ReactiveX(响应式编程)中使用Java语言实现的版本,目前基本上主流的语言都已经有了对应的ReactiveX实现版本。可是知道这些也只能是一个大写的懵逼……
我觉得直接先扔出一个RxJava的helloworld的demo然后给大家进行分析
由于本人是在android中用到,所以给出的是android的demo
二、helloword
主要的代码:
public class MainActivity extends AppCompatActivity { private TextView tv_zzx; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_zzx = (TextView) findViewById(R.id.tv_zzx); // Observable<String> observable =Observable.just("zhaozx_helloworld"); // observable.subscribe(subscriber ); } // Subscriber<String> subscriber = new Sunscriber<String>(){ @Override public void onCompleted(){ System.out.println("zhaozx_onCompleted"); } @Override public void onError(Throwable e){ System.out.println("zhaozx_onError"); } @Override public void onNext(String s){ System.out.println(s); tv_zzx.serText(s); } } }
布局文件内容
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_zzx" android:textSize="30dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout>
我使用的android studio,然后需要在当前APP的gradle中加入两个依赖jar
compile 'io.reactivex:rxjava:x.y.z' compile 'io.reactivex:rxandroid:1.2.0'
版本可以有所不同。
接下来看运行效果
而且在控制台会看到
06-29 11:16:17.083 30448-30448/com.appscomm.rx_lenrn I/System.out: zhaozx_helloworld 06-29 11:16:17.083 30448-30448/com.appscomm.rx_lenrn I/System.out: zhaozx_onCompleted
看到这里,读者也许会有一点模糊的定义,其实没有也没关系,本人刚接触时也是这样。
三、个人的见解
接下来就分析分析这个demo。
在这个demo中眼生的代码就只有三行
//事件源准备好一个事件 //just("zhaozx_helloworld")是一个包含一个String的事件 //(关于just的分析将会在后期的博客中给出) Observable<String> observable =Observable.just("zhaozx_helloworld"); //制定一个订阅者 observable.subscribe(subscriber ); //订阅者,去处理被观察者,里面方法的分析在后面给出 Subscriber<String> subscriber = new Subscriber<String>() { ... };
我对这三句代码的理解就是包含了RxJava中的最重要的两个东西
Observable:被观察者、事件源
Subscriber:观察者、订阅者
observable.subscribe(subscriber ):两个重要部分的关联。
详细的注释我就写在代码中了
接下来给大家分析在订阅者中重载的三个方法的作用。
大家也看到了在控制台输出的语句,调用的顺序是先onNext在onComplete,根据我查阅的资料是这样介绍的,SubScriber(订阅者)在观察到Observale(被观察者)后有逻辑业务时调用onNext,onNext调用结束后,会调用onComplete(无异常时调用)或onError(有异常时调用)。
helloWorld的学习就到这里了,本人也处于学习状态,日后后逐步完成关于RxJava更多的知识
相关文章推荐
- C#学习进阶Hello World的17种写法代码分享
- JSP入门之HelloWorld程序实例
- Android 初识 Helloworld 详解
- Cocos2d-x学习入门之HelloWorld程序
- C语言之没有main函数的helloworld示例
- React.js入门实例教程之创建hello world 的5种方式
- Android中通过RxJava进行响应式程序设计的入门指南
- J2SE基础之命令行中编写第一个 Hello World
- Java扩展库RxJava的基本结构与适用场景小结
- Java的RxJava库操作符的用法及实例讲解
- 浅析RxJava处理复杂表单验证问题的方法
- java 学习笔记(入门篇)_java程序helloWorld
- J2SE基础之在Eclipse中运行hello world
- RxJava入门指南及其在Android开发中的使用示例
- Linux下Java开发环境搭建以及第一个HelloWorld
- 跟我一起看Retrofit 2.0的源码
- RxJava之subscribeOn解惑
- Git之`Hello, World`
- React.js入门实例教程之创建hello world 的5种方式
- 第一个scala程序之HelloWorld