Android RxJava 初步接触
来源:互联网 发布:天刀妖娆御姐捏脸数据 编辑:程序博客网 时间:2024/05/17 00:18
一、创建工具类
1)创建被观测者observable ,
2)然后创建消息订阅showSub
3)把showSub设置到observable
public class RxUtil { private static final String TAG = RxUtil.class.getSimpleName(); public static void createObserverable(){ //定义被观测者 Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>(){ @Override public void call(Subscriber<? super String> subscriber) { if (!subscriber.isUnsubscribed()){ subscriber.onNext("hello"); subscriber.onNext("hi"); subscriber.onNext(testJson()); subscriber.onCompleted(); } } }); observable.subscribe(showSub); } public static String testJson(){ return "json data test"; } /** * 消息订阅 */ private static Subscriber<String> showSub = new Subscriber<String>() { @Override public void onCompleted() { Log.i(TAG, "onCompleted"); } @Override public void onError(Throwable e) { Log.i(TAG, "onError"); } @Override public void onNext(String s) { Log.i(TAG, "onNext:" + s); } }; /** * 合成 */ public static void printNext(){ Observable.create(new Observable.OnSubscribe<String>(){ @Override public void call(Subscriber<? super String> subscriber) { if (!subscriber.isUnsubscribed()){ subscriber.onNext("hello"); subscriber.onNext("hi"); subscriber.onNext(testJson()); subscriber.onCompleted(); } } }).subscribe(new Subscriber<String>() { @Override public void onCompleted() { Log.i(TAG, "onCompleted"); } @Override public void onError(Throwable e) { Log.i(TAG, "onError"); } @Override public void onNext(String s) { Log.i(TAG, "onNext:" + s); } }); }}
二、测试:
public class RxActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rx); } public void createRx(View view){ RxUtil.createObserverable(); }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Large Text" android:id="@+id/textView2" android:layout_gravity="center_vertical" android:layout_weight="0.96" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="create" android:id="@+id/button" android:onClick="createRx" android:layout_weight="0.07" /></LinearLayout>
0 0
- Android RxJava 初步接触
- RxJava初步接触学习
- Android RxJava 初步接触二:from,just等方法的使用
- Android RxJava初步认识
- Android Camera的初步接触
- Android Studio的初步接触
- Android NDK Opengl es开发初步接触
- Android中Activity的初步接触(一)
- Android中Activity的初步接触(二)
- Android中的ListView初步接触(一)
- RXJAVA初接触
- Android 程序员计算器 开发记录-Git版本控制初步接触
- android listview系列之初步接触listview(一)
- android listview系列之初步接触listview(二)
- RxJava初步了解和在Android中的使用
- RxJava的android初步快速学习与理解使用
- Android MVP+RXJava+Retrofit框架的初步构建
- Nhibernate 初步接触
- 一个测试工程师面试结束后想说的
- JavaScript 对象学习笔记(中)
- 一个简单的最大流算法
- LeetCode刷题笔记
- 【cas】配置运行简单的cas程序
- Android RxJava 初步接触
- Maven构建SpringMVC项目实现注解、数据库事务管理及存储过程操作
- Java 学习笔记_1`
- [hdu 4552] 怪盗基德的挑战书
- 深入理解DOM中的事件对象
- Menu(菜单) onCreateOptionsMenu 与 onCreateContextMenu 使用
- 树(2)求二叉树结点最大距离
- poj Frogger&&Heavy Transportation
- Vim新手入门教程