Я занимаюсь разработкой приложения для Android. На самом деле, моя база данных находится на локальном хосте. Я разработал свой API с использованием PHP. для страницы входа в Android Studio, мне нужно проверить, правильно ли введены учетные данные пользователя или нет. Я сталкиваюсь с проблемой, когда хочу десериализовать json, полученный из API; проблема, не входящая в блок Try! не могли бы вы проверить это и написать мне, каково решение?
Я проверил, работает ли мой API, и я правильно понял, json; это json от одной из моих попыток входа в систему:
{"status":"success","user_count":1,"user":{"id":"2","username":"yasi","password":"yasi"}}
Сначала я поставил команду «Журнал» в своем классе, чтобы проверить, вызывается ли класс и запускается; он запускается, но игнорирует блок Try и переходит к блоку Catch.
public void jsonToUser (String jsonUser){
String username,password,user_count;
try {
JSONObject jsonObject=new JSONObject(jsonUser);
username = jsonObject.getString("username");
password = jsonObject.getString("password");
user_count=jsonObject.getString("user_count");
if(user_count.equals("1"))
{
if (!username.equals("admin"))
{
Intent intent = new Intent(getActivity(), HomePageActivity.class);
startActivity(intent);
}
else
{
Intent intent = new Intent(getActivity(), AdminHomePageActivity.class);
startActivity(intent);
}
}
else
Toast.makeText(getActivity(),"User not Found",Toast.LENGTH_LONG).show();
}
catch (JSONException e){
Log.d("error",e.getMessage());
}
}
Я ожидаю, что следующая активность будет показана, если я введу правильные учетные данные для входа в систему.
Прежде всего, я работаю над фрагментом, а не над деятельностью.
во-вторых, это код для вызова моего API в OnCreateView ():
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new CheckUserLoginAsync().execute("http://10.0.2.2:80/whereToEatAPI/api/check_user_login_api.php"
,txtUsername.getText().toString()
,txtPassword.getText().toString());