Rxjava 自学笔记(希望能帮到想学的小伙伴)在此感谢 jack 大神们的开源贡献精神
来源:互联网 发布:淘宝直播平台扶持 编辑:程序博客网 时间:2024/06/05 18:07
package com.jisi.keji.rxjavademo;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Toast;import rx.Observable;import rx.Subscriber;import rx.functions.Action1;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // getraxjavaMethod(); raxjavaSecondMethod(); } }); } private void raxjavaSecondMethod() { Observable<String> myObservable = Observable.just("Hello, world!"); //Action1观察者的一个封装类 Action1<String> onNextAction = new Action1<String>() { @Override public void call(String s) { Toast.makeText(getApplication(), "内容=" + s, Toast.LENGTH_SHORT).show(); } }; //一下代码为上边代码的链式编程写法 myObservable.subscribe(onNextAction); Observable.just("hello gsc!").subscribe(new Action1<String>() { @Override public void call(String s) { Toast.makeText(getApplication(), "内容=" + s, Toast.LENGTH_SHORT).show(); } }); } //Rxjava 第一版hello private void getraxjavaMethod() { //创建一个被观察者 Observable<String> string = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { subscriber.onNext("Hello world!"); subscriber.onCompleted(); } }); //创建一个订阅者(观察者) Subscriber<String> sub=new Subscriber<String>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(String s) { System.out.println("输入内容"+s); Toast.makeText(getApplication(),"内容="+s,Toast.LENGTH_SHORT).show(); } }; //重要一句话 string.subscribe(sub);//没有这句话无法两者关联 //如果订阅者(观察者)与被观察者没有关联不会弹出Toast } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
4 0
- Rxjava 自学笔记(希望能帮到想学的小伙伴)在此感谢 jack 大神们的开源贡献精神
- 感谢我的伙伴们
- 精神的希望
- 神州数码的面试集合(前人整理,在此感谢)
- 求职面试算法总结(感谢用心整理的小伙伴)
- 希望能结识更多热爱Java的小伙伴
- 编程之美,大神和它的三个小伙伴
- 感谢无私分享的大神们
- 开源搜索引擎和它的小伙伴们--初探
- 写给同样在路上的Android小伙伴们
- git的学习笔记(与小伙伴协作)
- Algorithm学习笔记 --- 大神与三位小伙伴
- 并查集(转)--看一遍就懂,感谢大神的分享
- for循环的一个BUG分享,希望新手小伙伴来看看
- 大神与三位小伙伴
- 2014编程之美第二题——大神和他的小伙伴
- 我和我的小伙伴们
- 红黑树和他的小伙伴们
- Swift设计模式之组合模式
- JS 时间转换
- LeetCode No343. Integer Break
- js解析xml
- ubuntu screen 实用命令
- Rxjava 自学笔记(希望能帮到想学的小伙伴)在此感谢 jack 大神们的开源贡献精神
- 多行滚动的TextView
- RSA算法C语言实现
- apache 的工作模式
- SQL Server数据库的高性能优化经验总结二
- Android使用MediaPlayer开发时抛IllegalStateException
- sql数据库修复
- find222222222
- Swift设计模式之状态模式