Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This is my android function to read the response, I'm using retrofit 2.
- public void onClick(@org.jetbrains.annotations.NotNull final View view) {
- if (view.getId() == R.id.btnLogon) {
- managerSecurityApi.login (etUsername.getText ().toString (), etPassword.getText ().toString (), new Callback<List<ObjectUser>> () {
- @Override
- public void onResponse (@NonNull Call<List<ObjectUser>> call, @NonNull Response<List<ObjectUser>> response) {
- List<ObjectUser> JsonList = requireNonNull(response).body ();
- for (int i = 0; i < requireNonNull (JsonList).size (); i++)
- objectUser = new ObjectUser (
- JsonList.get (i).getId (),
- JsonList.get (i).getUsername (),
- JsonList.get (i).getGrade (),
- JsonList.get (i).getGradename(),
- JsonList.get (i).getDepartment (),
- JsonList.get (i).getDepartmentname()
- );
- getContentResolver ().delete (ProviderUser.CONTENT_URI, null, null);
- etUsername.setText (R.string.blank);
- etPassword.setText (R.string.blank);
- ContentValues values = new ContentValues ();
- values.put (ProviderUser.name, objectUser.getUsername ());
- values.put (ProviderUser.grade, String.valueOf (objectUser.getGrade ()));
- values.put (ProviderUser.gradename, objectUser.getGradename ());
- values.put (ProviderUser.department, String.valueOf (objectUser.getDepartment ()));
- values.put (ProviderUser.departmentname, objectUser.getDepartmentname());
- getContentResolver ().insert (ProviderUser.CONTENT_URI, values);
- showApps ();
- }
- @Override
- public void onFailure (@NonNull Call<List<ObjectUser>> call, @NonNull Throwable t) {
- Toast.makeText (getApplicationContext (), t.getMessage (), Toast.LENGTH_SHORT).show ();
- }
- });
- } else {
- throw new IllegalStateException("Unexpected value: " + view.getId());
- }
- }
- This is my API to login. It is written in PHP, using the Slim Microframework.
- public function login(LoggingUser $loggingUser) {
- $return_value[0]['success'] = false;
- $return_value[0]['message'] = '';
- if(!$loggingUser->username){
- $return_value[0]['message'] = 'username field required in Security::login';
- } else {
- if (!$loggingUser->password) {
- $return_value[0]['message'] = 'password field required in Security::login';
- } else {
- $return_value[0]['success'] = true;
- $return_value[0]['message'] = 'User successfully retrieved';
- $return_value[0]['data'] = $this->repository->login($loggingUser);
- }
- }
- return $return_value;
- }
- This is what postman return when calling the api from my website.
- [
- {
- "success": true,
- "message": "User successfully retrieved",
- "data": {
- "username": "admin",
- "grade": "4",
- "grade_text": "Administrator",
- "department": "5",
- "department_text": "Operations"
- }
- }
- ]
- The LogCat in android studio says it fails a NON NULL constraint when inserting the data, which is to be expected it the data is null.
Advertisement
Add Comment
Please, Sign In to add comment