MVC模式mode

 Android Studio的MVC模式,顾名思义就是Model,View,Controller,三个部分。开发时尽量将三个部分分开,这样修改代码时,可以做到只修改一个部分,不用大动干戈。

接口KpListener.java

  1. public interface KpListener {  
  2.     void onSucess(String response);  
  3. }  

接口Kpmodel.java

  1. public interface Kpmodel {  
  2.     void getKpListen(KpListener listener);  
  3. }  

类KpModel_Complete

public class KpModel_Complete implements Kpmodel {

    public static void sendOkHttpRequest(final String address, final okhttp3.Callback callback) {
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .url(address)
                .build();
        client.newCall(request).enqueue(callback);
    }


    @Override
    public  void getKpListen(final KpListener listener) {


        sendOkHttpRequest("url",new okhttp3.Callback(){

            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
            String responseData =response.body().string();
            listener.onSucess(responseData);
            }
        });

    }
}
Contlloer:控制器
public class MainActivity extends AppCompatActivity implements KpListener{

    private Button btnMain;
    private TextView tenMain;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
 btnMain.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
         KpModel_Complete kpModel_complete=new KpModel_Complete();
         kpModel_complete.getKpListen(MainActivity.this);
     }
 });
    }

    public void init()
    {
         btnMain=(Button)findViewById(R.id.button);
         tenMain=(TextView)findViewById(R.id.textView);
    }
    @Override
    public void onSucess(final String response) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
        tenMain.setText(response);
            }
        });
    }
}


猜你喜欢

转载自blog.csdn.net/noige/article/details/80060422