일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 안드로이드 라이선스 종류
- 서비스 쓰레드 차이
- 안드로이드 레트로핏 crud
- 안드로이드 유닛 테스트 예시
- 스택 큐 차이
- 플러터 설치 2022
- 안드로이드 os 구조
- 안드로이드 유닛테스트란
- 서비스 vs 쓰레드
- android ar 개발
- 자바 다형성
- 클래스
- rxjava disposable
- jvm이란
- 안드로이드 레트로핏 사용법
- rxjava cold observable
- ANR이란
- android retrofit login
- 객체
- 큐 자바 코드
- ar vr 차이
- 멤버변수
- jvm 작동 원리
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 라이선스
- 2022 플러터 설치
- 안드로이드 유닛 테스트
- 스택 자바 코드
- Rxjava Observable
- rxjava hot observable
- Today
- Total
나만을 위한 블로그
[Android, PHP] 레트로핏 사용 시 PHP에선 값이 잘 나오는데 안드로이드에선 안 나올 경우 확인할 것 본문
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에서 넘어오지 않는다.
사소하지만 틀리게 된다면 아예 작동하지 않으니 기본적인 것들을 제대로 썼는지부터 확인하자.