package com.shizhefei.test.models.task;
import android.net.Uri;
import android.text.TextUtils;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.shizhefei.mvc.RequestHandle;
import com.shizhefei.mvc.ResponseSender;
import com.shizhefei.task.IAsyncTask;
import com.shizhefei.test.models.datasource.volley.VolleyRequestHandle;
import com.shizhefei.test.models.enties.User;
import com.shizhefei.test.models.exception.BizException;
import com.shizhefei.utils.MyVolley;
public class LoginAsyncTask implements IAsyncTask<User> {
private String name;
private String password;
public LoginAsyncTask(String name, String password) {
super();
this.name = name;
this.password = password;
}
@Override
public RequestHandle execute(final ResponseSender<User> sender) throws Exception {
String url = "https://www.baidu.com";
Uri.Builder builder = Uri.parse(url).buildUpon();
builder.appendQueryParameter("userName", name);
builder.appendQueryParameter("password", password);
StringRequest jsonObjRequest = new StringRequest(Request.Method.GET,
builder.toString(), new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (TextUtils.isEmpty(name)) {
sender.sendError(new BizException("请输入用户名"));
} else if (TextUtils.isEmpty(password)) {
sender.sendError(new BizException("请输入密码"));
} else if (name.equals("LuckyJayce") && password.equals("111")) {
sender.sendData(new User("1", "LuckyJayce", 23,
"中国人"));
} else {
sender.sendError(new BizException("用户名或者密码不正确"));
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
sender.sendError(error);
}
});
MyVolley.getRequestQueue().add(jsonObjRequest);
return new VolleyRequestHandle(jsonObjRequest);
}
}