当前位置 : 主页 > 编程语言 > c++ >

rxjava学习测试

来源:互联网 收集:自由互联 发布时间:2021-07-03
rxtest.java package com.example.rxtest;import android.graphics.Bitmap;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import java.io.File;import rx.Observable;import
rxtest.java
package com.example.rxtest;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;

import java.io.File;

import rx.Observable;
import rx.Observer;
import rx.Subscriber;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import rx.functions.Func1;
import rx.schedulers.Schedulers;

public class MainActivity extends AppCompatActivity {

    File[] folders = {new File("/sdcard/a"), new File("/sdcard/b")};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Observable.just("Hello, world!").subscribe(s -> System.out.println(s + " -Dan"));
    }

    void old() {
        new Thread() {
            @Override
            public void run() {
                for (File folder : folders) {
                    File[] files = folder.listFiles();
                    for (File file : files) {
                        if (file.getName().endsWith(".png")) {
                            //final Bitmap bitmap = getBitmapFromFile(file);
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    //imageCollectorView.addImage(bitmap);
                                }
                            });
                        }
                    }
                }
            }
        }.start();
    }

    void test1() {
        Observable.from(folders)
                .flatMap(new Func1
 
  >() {
                    @Override
                    public Observable
  
    call(File file) { return Observable.from(file.listFiles()); } }) .filter(file -> file.getName().endsWith(".png")) .map(file -> getBitmapFromFile(file)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(bitmap -> { //imageCollectorView.addImage(bitmap); }); } private Bitmap getBitmapFromFile(File file) { return null; } private String tag = "qyg--->"; //创建Observer Observer
   
     observer0 = new Observer
    
     () { @Override public void onNext(String s) { Log.d(tag, "Item: " + s); } @Override public void onCompleted() { Log.d(tag, "Completed!"); } @Override public void onError(Throwable e) { Log.d(tag, "Error!"); } }; //创建observable Observable observable = Observable.create( (Observable.OnSubscribe
     
      ) subscriber1 -> { subscriber1.onNext("Hello"); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } subscriber1.onNext("Hi"); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } subscriber1.onNext("Aloha"); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } subscriber1.onCompleted(); }); //创建Subscriber Subscriber
      
        subscriber = new Subscriber
       
        () { @Override public void onNext(String s) { Log.d(tag, "Item: " + s); } @Override public void onCompleted() { Log.d(tag, "Completed!"); } @Override public void onError(Throwable e) { Log.d(tag, "Error!"); } }; Observable observable1 = Observable.just("Hello", "Hi", "Aloha"); // 将会依次调用: onNext("Hello"); onNext("Hi"); onNext("Aloha"); onCompleted(); String[] words = {"Hello", "Hi", "Aloha"}; Observable observable2 = Observable.from(words); // 将会依次调用: onNext("Hello"); onNext("Hi"); onNext("Aloha"); onCompleted(); public void click(View view) { observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(observer0); /*String[] names = {"hi", "ni", "hao", "me"}; Observable.from(names) .subscribe(new Action1
        
         () { @Override public void call(String name) { Log.w(tag, name); } });*/ } }
        
       
      
     
    
   
  
 
网友评论