AndroidMJ-mvp与mvvm
https://blog.csdn.net/gqg_guan/article/details/136209461
代码实战
model MainModel.java
package com.example.mvp.model;import android.os.Handler;
import com.example.mvp.contract.MainContract;public class MainModel implements MainContract.Model {@Overridepublic void fetchData(Callback callback) {new Handler().postDelayed(() -> {boolean success = Math.random() > 0.5;if (success) {callback.onSuccess("来自网络的数据(模拟)");} else {callback.onError("网络请求失败");}}, 1500);}
}
view MainActivity.java
package com.example.mvp.view;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;import com.example.mvp.R;
import com.example.mvp.contract.MainContract;
import com.example.mvp.presenter.MainPresenter;public class MainActivity extends AppCompatActivity implements MainContract.View {private TextView textV