#android
#Android
Вопрос:
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editTextUsername, getEditTextPassword;
private Button buttonLogin;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
if (SharedPrefManager.getInstance(this).isLoggedIn()){
finish();
startActivity(new Intent(this, vendorDashboard.class));
return;
}
editTextUsername = findViewById(R.id.editTextUsername);
getEditTextPassword = findViewById(R.id.editTextPassword);
buttonLogin = findViewById(R.id.buttonLogin);
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Please wait...");
buttonLogin.setOnClickListener(this);
}
private void userLogin(){
final String username = editTextUsername.getText().toString().trim();
final String password = getEditTextPassword.getText().toString().trim();
progressDialog.show();
StringRequest stringRequest = new StringRequest(
Request.Method.POST,
Constants.URL_LOGIN,
response -> {
progressDialog.dismiss();
try {
JSONObject obj = new JSONObject(response);
if(!obj.getBoolean("error")){
SharedPrefManager.getInstance(getApplicationContext())
.userLogin(
obj.getInt("id"),
obj.getString("username"),
obj.getString("email")
);
startActivity(new Intent(getApplicationContext(), vendorDashboard.class));
finish();
}else{
Toast.makeText(
getApplicationContext(),
obj.getString("message"),
Toast.LENGTH_LONG
).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
},
error -> {
progressDialog.dismiss();
Toast.makeText(
getApplicationContext(),
error.getMessage(),
Toast.LENGTH_LONG
).show();
}
){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("user_login", username);
params.put("user_pass", password);
return params;
}
};
RequestHandler.getInstance(this).addToRequestQueue(stringRequest);
}
@Override
public void onClick(View view) {
if(view == buttonLogin){
userLogin();
}
}
}
Я использую приведенный выше код для входа в базу данных WordPress после нажатия кнопки входа в систему, когда я пытаюсь добавить тост или намерение startActivity, я не смог этого сделать, есть какие-либо предложения, почему???
Вот подробный обзор, в котором я пытаюсь добавить код для намерения Toast и startActivity
try {
JSONObject obj = new JSONObject(response);
if(!obj.getBoolean("error")){
SharedPrefManager.getInstance(getApplicationContext())
.userLogin(
obj.getInt("id"),
obj.getString("username"),
obj.getString("email")
);
// **Exactly here**
startActivity(new Intent(getApplicationContext(), vendorDashboard.class));
finish();
}else{
Toast.makeText(
getApplicationContext(),
obj.getString("message"),
Toast.LENGTH_LONG
).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
},
error -> {
progressDialog.dismiss();
Toast.makeText(
getApplicationContext(),
error.getMessage(),
Toast.LENGTH_LONG
).show();
}
Я думаю, что проблема в этом try-catch упоминается выше?
Комментарии:
1. Вы не получаете еще одно всплывающее сообщение? Кроме того, volley вряд ли используется, используйте retrofit.
2. модернизация? не могли бы вы рассказать мне об этом
3. Вы также можете использовать okhttp. А также добавьте несколько журналов, прогнозирование без которых практически невозможно
4. @iharshmgoyal Проверьте это на предмет модернизации . это просто замена volley, которую я только что предложил. Получаете ли вы какое-либо всплывающее сообщение??
5. Ok. 1] попробуйте изменить условие onClick if как
if(view.getId() == R.id.buttonLogin){userLogin()}
. 2] вы добавили android.permission. ИНТЕРНЕТ в манифесте. после этого он не будет работать, делитесь журналами