tlmarker1968

Untitled

Feb 7th, 2020
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. This is my android function to read the response, I'm using retrofit 2.
  2.  
  3. public void onClick(@org.jetbrains.annotations.NotNull final View view) {
  4. if (view.getId() == R.id.btnLogon) {
  5. managerSecurityApi.login (etUsername.getText ().toString (), etPassword.getText ().toString (), new Callback<List<ObjectUser>> () {
  6. @Override
  7. public void onResponse (@NonNull Call<List<ObjectUser>> call, @NonNull Response<List<ObjectUser>> response) {
  8. List<ObjectUser> JsonList = requireNonNull(response).body ();
  9. for (int i = 0; i < requireNonNull (JsonList).size (); i++)
  10. objectUser = new ObjectUser (
  11. JsonList.get (i).getId (),
  12. JsonList.get (i).getUsername (),
  13. JsonList.get (i).getGrade (),
  14. JsonList.get (i).getGradename(),
  15. JsonList.get (i).getDepartment (),
  16. JsonList.get (i).getDepartmentname()
  17. );
  18. getContentResolver ().delete (ProviderUser.CONTENT_URI, null, null);
  19. etUsername.setText (R.string.blank);
  20. etPassword.setText (R.string.blank);
  21. ContentValues values = new ContentValues ();
  22. values.put (ProviderUser.name, objectUser.getUsername ());
  23. values.put (ProviderUser.grade, String.valueOf (objectUser.getGrade ()));
  24. values.put (ProviderUser.gradename, objectUser.getGradename ());
  25. values.put (ProviderUser.department, String.valueOf (objectUser.getDepartment ()));
  26. values.put (ProviderUser.departmentname, objectUser.getDepartmentname());
  27. getContentResolver ().insert (ProviderUser.CONTENT_URI, values);
  28. showApps ();
  29. }
  30. @Override
  31. public void onFailure (@NonNull Call<List<ObjectUser>> call, @NonNull Throwable t) {
  32. Toast.makeText (getApplicationContext (), t.getMessage (), Toast.LENGTH_SHORT).show ();
  33. }
  34. });
  35. } else {
  36. throw new IllegalStateException("Unexpected value: " + view.getId());
  37. }
  38. }
  39.  
  40. This is my API to login. It is written in PHP, using the Slim Microframework.
  41.  
  42. public function login(LoggingUser $loggingUser) {
  43. $return_value[0]['success'] = false;
  44. $return_value[0]['message'] = '';
  45. if(!$loggingUser->username){
  46. $return_value[0]['message'] = 'username field required in Security::login';
  47. } else {
  48. if (!$loggingUser->password) {
  49. $return_value[0]['message'] = 'password field required in Security::login';
  50. } else {
  51. $return_value[0]['success'] = true;
  52. $return_value[0]['message'] = 'User successfully retrieved';
  53. $return_value[0]['data'] = $this->repository->login($loggingUser);
  54. }
  55. }
  56. return $return_value;
  57. }
  58.  
  59. This is what postman return when calling the api from my website.
  60. [
  61. {
  62. "success": true,
  63. "message": "User successfully retrieved",
  64. "data": {
  65. "username": "admin",
  66. "grade": "4",
  67. "grade_text": "Administrator",
  68. "department": "5",
  69. "department_text": "Operations"
  70. }
  71. }
  72. ]
  73.  
  74. 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