1、mainActivity.java
public class MainActivity extends AppCompatActivity {
/*
mvc:control与view层是activity
model编写逻辑层
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
子线程不能更新UI
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到控件
final EditText username= (EditText) findViewById(R.id.username);
final EditText password= (EditText) findViewById(R.id.password);
Button login= (Button) findViewById(R.id.login);
/* Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);*/
final MvcModel mpdel=new MvcModel();
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//进行判断
String user=username.getText().toString();
if(TextUtils.isEmpty(user))
{
Toast.makeText(MainActivity.this, "user用户名为空", Toast.LENGTH_SHORT).show();
return;
}
String pwd=password.getText().toString();
if(TextUtils.isEmpty(pwd))
{
Toast.makeText(MainActivity.this, "user密码为空", Toast.LENGTH_SHORT).show();
return;
}
mpdel.login(user,pwd);
}
});
//登录成功
mpdel.setOnChilkLinster(new MvcModel.OnchilkLinster() {
@Override
public void Onchilk(final String result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "成功"+result, Toast.LENGTH_SHORT).show();
System.out.println("111111111111111111");
}
});
}
});
}
}
2.model层
public class MvcModel {
/*
编写逻辑层
*/
public void login(String username,String password){
//请求网络
OkHttpClient client=new OkHttpClient();
final Request request=new Request.Builder().url("http://qhb.2dyt.com/Bwei/login?username=muhanxi&password=111&postkey=1503d").build();
Call call=client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
}
@Override
public void onResponse(Response response) throws IOException {
//成功的数据返回到view层界面,需要用到接口
//判断接口是否为空
if(linster!=null)
{
linster.Onchilk(response.body().string());
System.out.println("22222222222222222");
}
}
});
}
public OnchilkLinster linster;
public interface OnchilkLinster{
public void Onchilk(String result);
}
public void setOnChilkLinster(OnchilkLinster linster)
{
this.linster=linster;
}
}