java 实现loading效果_RxJava示例源码(请求网络数据+loading效果)

【实例简介】

【实例截图】

8b808cbfe69e1cbe824d71a3fd9810c3.png

cdd0ae68de8b217253df335a52dd7fb8.png

【核心代码】

package laobi.com.rxjavademo.activity;

import android.content.Intent;

import android.databinding.DataBindingUtil;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.text.TextUtils;

import android.util.Log;

import android.view.View;

import io.reactivex.android.schedulers.AndroidSchedulers;

import io.reactivex.schedulers.Schedulers;

import laobi.com.rxjavademo.R;

import laobi.com.rxjavademo.RxService;

import laobi.com.rxjavademo.ServiceFactory2;

import laobi.com.rxjavademo.bean.RetrofitEntity;

import laobi.com.rxjavademo.databinding.ActivityMainBinding;

import laobi.com.rxjavademo.net.DefaultObserver2;

import laobi.com.rxjavademo.utils.ToastUtils;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private static final String TAG = "date";

private ActivityMainBinding mBinding;

private Bitmap mBitmap = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);

mBinding.getResult.setOnClickListener(this);

mBinding.rxJava.setOnClickListener(this);

//以兆(M)为单位

//也可以在Android Monitor的Monitors查看

// Log.e(TAG, "系统现在分配给app的大小:" Runtime.getRuntime().totalMemory() * 1.0f /(1024*1024) );

// Log.e(TAG, "空闲内存大小:" Runtime.getRuntime().freeMemory() * 1.0f /(1024*1024) );

// Log.e(TAG, "内存总大小:" Runtime.getRuntime().maxMemory() * 1.0f /(1024*1024) );

}

@Override

public void onClick(View view) {

switch (view.getId()) {

case R.id.get_result:

sendRequestFromServer();

break;

case R.id.rx_java:

startActivity(new Intent(this, RxjavaTestActivity.class));

break;

}

}

private void sendRequestFromServer() {

ServiceFactory2.getInstance().create(RxService.class)

.getAllVedioBy(true)

// .compose(this.>bindToLifecycle())//绑定生命周期

.subscribeOn(Schedulers.io())

.unsubscribeOn(Schedulers.io())

.observeOn(AndroidSchedulers.mainThread())

.subscribe(new DefaultObserver2(this) {

@Override

protected void onFail(RetrofitEntity response) {

String message = response.getMessage();

if (TextUtils.isEmpty(message)) {

ToastUtils.show(R.string.response_return_error);

} else {

ToastUtils.show(message);

}

}

@Override

public void onSuccess(RetrofitEntity response) {

mBinding.result.setText(response.getData().toString());

Log.e(TAG, "accept: " response.getData().toString());

}

}

);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值