欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php-不能从JSONObject中检索值

程序员文章站 2022-05-08 14:13:48
...
phpjavajsonandroid

我通过PHP给android中的java类(Login screen)传递值,但是给出错误JSONException Error,不能从下面的代码中定义。请问如何修改呢?谢谢!

LoginActivity.java

@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.login);    // Importing all assets like buttons, text fields    inputUid = (EditText) findViewById(R.id.loginUid);    inputPassword = (EditText) findViewById(R.id.loginPassword);    btnLogin = (Button) findViewById(R.id.btnLogin);    btnLinkToRegister = (Button) findViewById(R.id.btnLinkToRegisterScreen);    loginErrorMsg = (TextView) findViewById(R.id.login_error);    // Login button Click Event    btnLogin.setOnClickListener(new View.OnClickListener() {        public void onClick(View view) {            String id = inputUid.getText().toString();            String pswd = inputPassword.getText().toString();            UserFunctions userFunction = new UserFunctions();            Log.d("Button", "Login");            JSONObject json = userFunction.loginUser(id, pswd);            // check for login response            try {                if (json.getString(KEY_SUCCESS) != null) {                    loginErrorMsg.setText("");                    String res = json.getString(KEY_SUCCESS);                     if(Integer.parseInt(res) == 1){                        // user successfully logged in                        // Store user details in SQLite Database                        DatabaseHandler db = new DatabaseHandler(getApplicationContext());                        JSONObject json_user = json.getJSONObject("user");                        // Clear all previous data in database                        userFunction.logoutUser(getApplicationContext());                        db.addUser(json.getString(KEY_ID), json_user.getString(KEY_NAME), json_user.getString(KEY_EMAIL), json_user.getString(KEY_CREATED_AT));                                             // Launch Dashboard Screen                        Intent dashboard = new Intent(getApplicationContext(), DashboardActivity.class);                        // Close all views before launching Dashboard                        dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);                        startActivity(dashboard);                        // Close Login Screen                        finish();                    }else{                        // Error in login                        loginErrorMsg.setText("Incorrect username/password");                    }                }            } catch (JSONException e) {                e.printStackTrace();            }        }    });