본문 바로가기
IT기술(코딩)

안드로이드 스튜디오 php연동 오류 찾기

by 크리에이트매이커 2020. 8. 2.
반응형

안녕하세요~

오늘은 제가 어플을 만들면서 안드로이드 스튜디오에서 서버 연동 할때, PHP 데이터 주고 받을때 상황에 따른 팁을 알려드리려고 해요! 물론 제 경험입니다 ㅎㅎ..

 

먼저 저는 AsyncTask 함수를 이용하여 서버 연동을 했어요~ 그 이유는 뭔가 정석적이면서 안정적인 느낌이 있어서 해당 함수를 사용해서 연동을 했습니다 ~ 함수안에 라이브러리도 많구요 ~

AsyncTask에는 여러 함수가 있죠.

기본적으로 execute() 에서 받는 인자를 나열하는 함수 : doInBackground (String ... param)함수

실행 했을때, 해당 URL 서버에서의 결과값을 받는 함수 : onPostExecute(String result) 함수

그냥 시작할때 사용되는 함수 : onPreExecute() 함수

이 3개 함수가 서버연동시에 가장 대표적인 함수에요~

뭐 사용 방법은 구글 같은곳에 많으니 필요시 사용하는건 무리 없다고 저는 기대합니다 !

자 ! 제가 알려드리고 싶은건 오류는 없는데 적용이 잘 안될때 에 대한 확인 방법을 알려드릴게요!

저게 원리는 이해하면 간단한게 모든 프로그램 연동이 그렇듯 다른 프로그램과 연동을 할때 예상치 못한 오류가 항상 발생하죠 ~~ ㅠㅠ

이럴때, AsyncTask 함수에서는 단계별로 확인을 해줘야 쉽고 빠르게 오류 원인을 찾을 수 있습니다!

자.

첫번째 팁 ! 먼저 처음 실행할때의 인자값들이 AsyncTask 함수에 잘 들어갔는지 확인합니다.

방법은 doInBackground 함수에서 인자를 받아들이는 변수를 Log.d()로 잘 들어갔는지 확인해보세요.

Log.d 는 디버깅의 약자 d 를 사용해서 Log 쳇에 디버그 필어로 해서 보기 편하게 하여 확인하면 됩니다.

두번째 팁 ! 안드로이드 스튜디오의 코드 정확성과 는 별개로 서버측 코드도 오류가 없는지 확인해 봅니다!

가장 좋은 방법은 echo를 이용한 방법이죠! 서버측 오류가 없다면 ehco 원하는 값을 출력할 수 있을겁니다.

세번째 팁! 첫번째, 두번째에 문제가 없다면 , AsyncTask 에서 서버측 결과를 받는 함수 onPostExecute 함수를 이용합니다. onPostExecute(String result) 에서 result 는 서버측 에서 출력된 모든 값들을 문자열로 받아들이는 기능이 있습니다. 예를 들어 서버 페이지 에서 echo "안녕" 을 해서 출력이 된다면, result에 "안녕"이 문자열로

저장이 됩니다. 아주 좋은 함수죠~? 이 result 값은 서버의 출력값을 그래도 보여주는 것이니, 서버 결과와 같은 값이 나오면 연동이 잘 된것입이다.

result값도 Log.d() 를 이용하여 확인 하고 오류 여부를 확인하면 됩니다~

제가 며칠동안 고생했던 부분에서의 오류 원인은

인코딩 부분이었는데, 전체 데이터중 일부분만 인코딩이 잘 안된건데도 모든데이터 전송이 안됬었습니다.

이 오류를 계속 못찾으니 헛바퀴 돌듯이 이상한 것들만 수정하고 했엇죠.. ㅠㅠ

이럴때, 위의 3가지 팁을 이용해서 인코딩이 안된 부분만을 찾아서 고치니 바로 잘 되었어요~

개발자, 코딩을 하는 여러분들 오류는 필수적으로 날수밖에 없잖아요~

저희에게 가장 필요한건

오류를 가장 효율적으로 빨리 찾는 방법 인것 같아요~ 우리 개발자들은 대단해서 오류 부분을 찾기만 하면 해결하기는 쉽잖아요~ 그쵸~!!

인류 발전을 위해 계속 노력할게요~ 담음에 봐요~

 

궁금한거 있으면 댓글 달아주세요~ 좋아요도 감사해요!!

반응형