관리 메뉴

나만을 위한 블로그

[Android, PHP] 레트로핏 사용 시 PHP에선 값이 잘 나오는데 안드로이드에선 안 나올 경우 확인할 것 본문

Android

[Android, PHP] 레트로핏 사용 시 PHP에선 값이 잘 나오는데 안드로이드에선 안 나올 경우 확인할 것

참깨빵위에참깨빵_ 2020. 6. 18. 19:04
728x90
반응형

PHP 파일을 작성 후 포스트맨에서 값을 넣어보고 테스트하면 잘 나오는데 안드로이드에선 나오지 않을 때가 있다. 혹은 하나는 나오고 나머지는 안 나오는 경우도 있을 수 있다.

이럴 때 확인할 것들을 내 나름대로 정리하려고 쓴다.

 

1. PHP 파일에서의 오타 : 난 VSC를 써서 PHP 파일을 작성하는데 VSC에선 PHP 문법 오류가 아닌 이상 어디가 틀렸다고 알려주지 않는다. 그래서 PHP에서 INSERT 문을 사용하고 array_push()를 써서 안드로이드로 값을 전달하는 파일을 만든 후에 포스트맨으로 테스트하면 잘 나오지만, 안드로이드에서 확인하면 안 나오는 경우가 발생할 수 있다.

이 경우엔 array_push() 안에 들어가는 '' 안의 컬럼명에 오탈자가 없는지 확인해보자. SQL문도 제대로 썼는지 var_dump() 등 디버깅 함수를 통해 확인하자. PHP 문법 오류라면 VSC가 알려줄 것이니 고치면 된다.

 

2. 안드로이드에서의 모델 클래스 : 모델 클래스는 리사이클러뷰를 사용할 때 쓰기도 하지만 레트로핏을 쓸 때 필요한 클래스기도 하다. @Expose와 @SerializedName을 쓰는 부분에서 ("") 안의 컬럼명 쓰는 부분을 DB와 똑같이 했는지 확인하자. 이 부분이 다르면 PHP 파일 작성 후 레트로핏에선 제대로 동작할지라도 앱에선 아예 작동하지 않는다.

 

3. 안드로이드에서의 인터페이스 클래스 : 안드로이드에서 레트로핏을 쓰려면 함수를 정의하고 거기에 필요한 인자값들을 넣어주는 인터페이스 클래스가 필수다. 여기서 인자에 사용하는 어노테이션은 @Query, @Field 두 종류가 있는데 이 옆에 DB와 똑같은 컬럼명을 넣어줬는지도 확인해봐야 한다. 마찬가지로 다르다면 값이 DB에서 넘어오지 않는다.

 

 

사소하지만 틀리게 된다면 아예 작동하지 않으니 기본적인 것들을 제대로 썼는지부터 확인하자.

반응형
Comments