使用java请求
来源:互联网 发布:淘宝直通车推广费钱吗 编辑:程序博客网 时间:2024/06/06 16:39
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
public interface IInterface {
@GET("/yunifang/mobile/home")
Call<ResponseBody> get();
@GET("/yunifang/mobile/home")
Observable<Bean> get1();
}
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
zip1();
}
});
}
Disposable disposable = null;
private void onObserverable(){
//创建了一个被观察者
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
// e 发射器
//发送onnext事件
for(int i=0;i<100;i++){
// if(i == 50){
// disposable.dispose();
// }
e.onNext(""+i);
if(i == 50){
// e.onComplete();
// e.onError(new Exception("1"));
}
//只要执行了 onComplete onError , 后续在发送的onNext 事件, 再也无法接受
}
// e.onError(new Exception(""));
// e.onComplete();
}
});
//创建观察者
Observer observer = new Observer<String>(){
@Override
public void onSubscribe(Disposable d) {
disposable = d ;
// 断开 被观察者和观察者之间的关系
// disposable.dispose();
// 判断 被观察者和观察者 之间是否还订阅关系
// disposable.isDisposed()
}
@Override
public void onNext(String s) {
//用于接受 被观察者所方法的事件
System.out.println("Observer s = " + s);
}
@Override
public void onError(Throwable e) {
//发生异常
System.out.println("onError s = " + e.getMessage());
}
@Override
public void onComplete() {
// 事件完成
System.out.println("onComplete s = ");
}
};
//订阅
observable.subscribe(observer);
}
private void test1(){
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
System.out.println("Observable " + Thread.currentThread().getName());
for(int i=0;i<1000;i++){
e.onNext(i+"");
}
System.out.println("Observable over " );
}
// subscribeOn 指定 被观察者所在的线程
}).subscribeOn(Schedulers.io())
// 指定 观察者所在的线程
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
System.out.println("Observer " + Thread.currentThread().getName());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(" "+ s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
private void test2(){
Flowable.create(new FlowableOnSubscribe<String>() {
@Override
public void subscribe(FlowableEmitter<String> e) throws Exception {
for(int i=0;i<1000;i++){
e.onNext(""+i);
}
}
}, BackpressureStrategy.LATEST)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
Thread.sleep(100);
System.out.println("Consumer " + s);
}
});
}
private void test3(){
Flowable.create(new FlowableOnSubscribe<String>() {
@Override
public void subscribe(FlowableEmitter<String> e) throws Exception {
e.onNext("onnext");
e.onError(new Exception("1"));
// e.onComplete();
}
},BackpressureStrategy.BUFFER)
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
// onnext
System.out.println("Consumer onnext" + s);
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
// onerror
System.out.println("Consumer onerror" + throwable.getMessage());
}
}, new Action() {
@Override
public void run() throws Exception {
// onComplet
System.out.println("Consumer Action");
}
});
}
private void test4(){
Flowable.create(new FlowableOnSubscribe<Integer>() {
@Override
public void subscribe(FlowableEmitter<Integer> e) throws Exception {
e.onNext(1);
e.onError(new Exception(""));
}
},BackpressureStrategy.BUFFER).subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
System.out.println(" onNext");
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
System.out.println(" onError");
}
});
}
private void map(){
Flowable.create(new FlowableOnSubscribe<String>() {
@Override
public void subscribe(FlowableEmitter<String> e) throws Exception {
e.onNext("11");
}
},BackpressureStrategy.BUFFER)
.map(new Function<String, Integer>() {
@Override
public Integer apply(String s) throws Exception {
return Integer.valueOf(s);
}
}).subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
System.out.println("integer = " + integer);
}
});
}
private void test5(){
Flowable.create(new FlowableOnSubscribe<String>() {
@Override
public void subscribe(final FlowableEmitter<String> e) throws Exception {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://m.yunifang.com")
.build();
IInterface iInterface = retrofit.create(IInterface.class);
iInterface.get().enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
String result = response.body().string() ;
e.onNext(result);
} catch (IOException e1) {
e1.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
},BackpressureStrategy.BUFFER)
.map(new Function<String, Bean>() {
@Override
public Bean apply(String s) throws Exception {
Gson gson = new Gson();
return gson.fromJson(s,Bean.class);
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Bean>() {
@Override
public void accept(Bean bean) throws Exception {
}
});
}
private void flatMap(){
// Observable.create(new ObservableOnSubscribe<String>() {
// @Override
// public void subscribe(final ObservableEmitter<String> e) throws Exception {
//
// e.onNext("1");
// e.onNext("2");
//
//// Retrofit retrofit = new Retrofit.Builder()
//// .baseUrl("")
//// .build();
////
//// final IInterface iInterface = retrofit.create(IInterface.class);
////
//// iInterface.get().enqueue(new Callback<ResponseBody>() {
//// @Override
//// public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
////
//// try {
//// String result = response.body().string();
////
//// e.onNext(result);
////
////
////
//// } catch (IOException e) {
//// e.printStackTrace();
//// }
//
//
// }
//
// @Override
// public void onFailure(Call<ResponseBody> call, Throwable t) {
//
// }
// });
//
// }
// }).flatMap(new Function<String, ObservableSource<ArrayList>>() {
// @Override
// public ObservableSource<ArrayList> apply(String s) throws Exception {
//
//
//
// ArrayList list = new ArrayList<>();
// for (int i=0;i<3;i++){
// list.add( s + " " + i);
// }
// return Observable.fromArray(list).delay(1, TimeUnit.SECONDS);
// }
// }).subscribe(new Consumer<ArrayList>() {
// @Override
// public void accept(ArrayList arrayList) throws Exception {
//
//
// for (int i=0;i<arrayList.size();i++){
// System.out.println("arrayList = " + arrayList.get(i));
// }
//
// }
// });
}
private void test9(){
}
private void t1(IInterface iInterface,String result){
iInterface.get().enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
String te = response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
private void concatMap(){
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
e.onNext("1");
e.onNext("2");
e.onNext("3");
}
}).concatMap(new Function<String, ObservableSource<ArrayList>>() {
@Override
public ObservableSource<ArrayList> apply(String s) throws Exception {
ArrayList list = new ArrayList<>();
for (int i=0;i<3;i++){
list.add( s + " " + i);
}
return Observable.fromArray(list).delay(1, TimeUnit.SECONDS);
// return null;
}
}).subscribe(new Consumer<ArrayList>() {
@Override
public void accept(ArrayList arrayList) throws Exception {
for (int i=0;i<arrayList.size();i++){
System.out.println("arrayList = " + arrayList.get(i));
}
}
});
}
private void zip(){
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
e.onNext("1");
e.onNext("2");
e.onNext("3");
}
});
Observable<String> observable1 = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
e.onNext("A");
e.onNext("B");
e.onNext("C");
}
});
Observable.zip(observable, observable1, new BiFunction<String, String, String>() {
@Override
public String apply(String s, String s2) throws Exception {
return s + s2;
}
}).subscribe(new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
System.out.println("s = " + s);
}
});
}
// rxjava 和retrofit 结合使用
private void zip1(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://m.yunifang.com")
.addConverterFactory(GsonConverterFactory.create())
// call 转化成 Observerable
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
IInterface iInterface = retrofit.create(IInterface.class);
iInterface.get1()
// 指定 被观察者 所在一个IO线程
.subscribeOn(Schedulers.io())
//指定观察者所在 住县城
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Bean>() {
@Override
public void accept(Bean bean) throws Exception {
System.out.println("bean = " + bean.toString());
}
});
}
}
- java使用https请求
- 使用java请求
- Jmeter《Java请求》使用总结
- Jmeter《Java请求》使用总结
- Java使用HttpClient发送请求
- 使用java发送HTTP请求
- java使用httpclient模拟post请求和get请求示例
- java使用httpclient封装post请求和get的请求
- Java使用HttpClient发送Get请求和Post请求
- 使用java代码发送HTTP Post请求
- 使用Java发送GET、POST请求
- 使用Java发送POST、GET请求【转】
- 使用Java发送POST、GET请求
- 使用JMeter进行性能测试(Java请求)
- java使用过滤器实现 请求转发
- 使用Java发送GET、POST请求
- 使用Java发送GET、POST请求
- 使用JMeter进行性能测试(Java请求)
- 鼠标移动显示详细信息监听实现
- Java多线程,交替输出121212
- 7-1 哥尼斯堡的“七桥问题”
- Android进程和线程详解
- JavaScript常用对象(String.Array.Date.Math)
- 使用java请求
- 我只是bug的搬运工之jsp 编辑预览时样式可以显示出来,而在浏览器浏览时无法显示出来!
- maven中使用默认服务器启动后出错
- Eclipse开发UI5 – 使用WebIDE生成的代码模板
- 673. Number of Longest Increasing Subsequence
- 归并排序
- C# vs C++之一:委托 vs 函数指针
- Apriori算法介绍
- Excel解析框架迭代改进