Я хочу отправить два параметра (адрес электронной почты и пароль) на сервер nodeJS с библиотекой залпа и получить объект Json в ответ, который дает мне токен, но у меня возникает эта ошибка при запуске кода:
1. com.android.volley.TimeOutError
2. com.android.volley.AuthFailuerError
Пожалуйста, помогите мне, как я могу решить это.
Вот мой код Java:
public class Login extends Fragment {
Context mcontext;
EditText Login_Email_EditText, Login_Password_EditText;
TextView Login_ForgetPassword_TextView;
Button Login_Button;
SignInButton google_login_Button;
public Login() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.login_fragment_layout, container, false);
init(view);
Login_Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UserLogin();
}
});
return view;
}
private void UserLogin() {
final String Email = Login_Email_EditText.getText().toString();
final String Password = Login_Password_EditText.getText().toString();
//validating inputs
if (TextUtils.isEmpty(Email)) {
Login_Email_EditText.setError("Please enter your Email");
Login_Email_EditText.requestFocus();
return;
}
if (TextUtils.isEmpty(Password)) {
Login_Password_EditText.setError("Please enter your password");
Login_Password_EditText.requestFocus();
return;
}
JSONObject params = new JSONObject();
try {
params.put("email", Email);
params.put("password", Password);
} catch (JSONException e) {
e.printStackTrace();
}
//if everything is fine
JsonObjectRequest jsonRequest = new JsonObjectRequest(Request.Method.POST, URLs.URL_LOGIN, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
Toast.makeText(mcontext, "You Are Logined!", Toast.LENGTH_LONG);
//getToken and Status
String Token = response.getJSONObject("data").getString("token");
String Status = response.getString("status");
//if no error in response
if (response.getString("status").equals("error")) {
Toast.makeText(getContext(), "api Error", Toast.LENGTH_LONG).show();
} else {
LoginResponse loginResponse = new LoginResponse(Token, Status);
SaveSharedPreference.setLoggedIn(getContext(), true);
SaveSharedPreference.setUserStatus(getContext(), loginResponse.getStatus());
SaveSharedPreference.setUserToken(getContext(), loginResponse.getToken());
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), error.toString(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(mcontext);
requestQueue.add(jsonRequest);
}
private void init(View view) {
Login_Password_EditText = view.findViewById(R.id.Login_Password);
Login_Email_EditText = view.findViewById(R.id.Login_Email);
Login_Button = view.findViewById(R.id.Login_Button);
Login_ForgetPassword_TextView = view.findViewById(R.id.Login_ForgetPassword);
google_login_Button = view.findViewById(R.id.Google_login_button);
mcontext = getActivity();
}