티스토리 뷰

반응형

본 게시물을 보기전에 아래 게시물을 먼저 보고 와주세요

 

Django + mySQL + Android Studio , 프로젝트 생성부터 retrofit 예제 까지 step by step(1)

https://rlg1133.tistory.com/37

Django + mySQL + Android Studio , 프로젝트 생성부터 retrofit 예제 까지 step by step(2)

https://rlg1133.tistory.com/38

 

Step3 Django + MySQL + Android Studio

 

이번 장에서는 안드로이드 스튜디오에서 우리가 만들어준 데이터베이스를 사용하는 방법을 알아보겠습니다.

https://github.com/Gyeony95/retrofit-CURD_Tutorial

 

위 깃헙주소에 지금부터 만들 프로젝트를 올려 놓았습니다. //테스트할때 이것저것 만지느라 좀 다를수도 있음

 

프로젝트를 하나 생성해줍니다. 언어는 kotlin을 사용하겠습니다.

 

 

 

제일먼저 인터넷 퍼미션을 허용해줍니다.

 

retrofit을 사용하기위해 라이브러리를 추가해줍니다.

두번째줄은 로그를 더 자세하게 보기위해 사용하는 라이브러리 입니다.

//retrofit api는 네트워크 통신을 하기위한 api인데 내부적으로 okhttp를 사용함

 

안드로이드 디바이스에 인터넷이 연결되어있어도 우리의 127.0.0.1:8000 주소는  로컬주소이기 때문에 안드로이드 디바이스에서 접근할수 없다! 그렇다면 어떻게 해야할까?

 

우리는 우리의 local주소를 열어서 외부(안드로이드 스튜디오)에서 접근 할 수 있도록 열어주는 ngrok라는 프로그램을 사용할 것입니다.

 

https://ngrok.com/download

 

ngrok - download

Download & setup ngrok Get started with ngrok in just a few seconds. Download ngrok First, download the ngrok client, a single binary with zero run-time dependencies. Unzip to install On Linux or OSX you can unzip ngrok from a terminal with the following c

ngrok.com

위 주소에서 다운받을 수 있다.

 

위 프로그램을 실행 한 뒤 ngrok http 8000 를 입력해준다.

//8000번 포트로 로컬을 열어주겠다라는 의미

 

그러면 위와같이 http주소와 https주소를 제공해준다.

 

위처럼 도출된 주소를 주소창에 입력하면 127.0.0.1:8000 주소를 입력했을때와 같은 화면을 볼 수 있다.

//이번에는 다른 디바이스에서 입력해도 접근이 가능하다.

 

이제 안드로이드에서 내 데이터베이스에 접근할 수 있는 환경을 만들어 주었으니 코드를 작성해주겠다.

 

위 인터페이스만큼은 자바로 작성되었다.

//코틀린으로 바꾸기 귀찮았다. 그래도 문제없이 사용할 수 있음

//Post는 코드가 바뀌었으므로 위에것말고 밑에 따로 올려놓은 소스를 참고하길 바란다.

 

그리고 Json_Test라는 모델 클래스를 만들었다.

//코틀린에서는 getter와 setter가 없고 그냥 위처럼 작성만 한다.

 

ngrok주소/tests 로 가서 내용을 확인한다.

 

 

그다음 주소뒤에 /1을 붙여본다

 

그러면 이렇게 첫번쨰 값만 확인하는것이 가능하다.

위 인터페이스에서 @PATH를 이럴때 사용해서 수정, 삭제를 수행한다.

이럴 수 있는 이유는 장고에서 모델을 만들때 우리는 필드로 test라는 charfield 하나 만을 만들었지만 자동으로 id라는 primarykey 이자 autoincrement 속성을 가지는 intfield를 하나 넣어준다.

 

장고 프로젝트 serialiaers.py파일을 다시열어서 id를 추가해본다

우리는 id라는 필드를 만들지 않았지만 id라는 값은 이미 들어가 있었다.

//참고로 이 id는 고유값이므로 저상태에서 id가 3번인 테스트를 삭제하고 하나 add 한다고해도 id가 3이 되지 않는다.

//id는 1, 2 다음 4가 될뿐이다.

 

여기서부터는 코드이다.

 

 

 

get 코드이다  아까만든 APIService 언터페이스의 get_Test를 통해 ngrok주소/?format=json 에서 값을 긁어온다.

 

로그는 아래와 같이 찍힌다.

 

삭제하는 코드이다

//id가 2인 항목을 삭제하는 신호를 보냈다.

//밑에 get_code()를 작성해서 삭제한 결과를 출력했다.

 

 

수정하는 코드이다.

//test값을 test3에서 te로 바꾸었다.

 

APIService 인터페이스에서 Post코드를 위와같이 바꾸었다.

post_json_test_java는 모델클래스이다.

위처럼 객체를 하나만들어서 주소로 보내주면 추가가 완료된다.

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함