와챠의 우당탕탕 코딩 일기장

[안드로이드]MariaDB <=> Apache <=> Android (PHP + Json)(2) 본문

코딩 일기장/Android(Kotlin)

[안드로이드]MariaDB <=> Apache <=> Android (PHP + Json)(2)

minWachya 2021. 4. 30. 10:28
반응형

이전 글에서는 DB를 만들고 웹에서 DB의 내용을 받아 Json 형태의 배열로 만들어주는 부분까지 했었다.

이 글에서는 안드로이드에 이 Json 배열을 어떻게 받아서 처리하는지 알아보겠다.

 

만들어볼 앱은 아래와 같다.

버튼을 누르면

이렇게 뜨는 앱을 만들어 볼 것이다.

build.gradle(:app)에 추가할 것들

1, plugins에 id 'kotlin-android-extensions' 추가

변수 선언/xml파일과의 연결 작업 도와주는 플러그인이다.

추가 후 MainActivity.kt에 import kotlinx.android.synthetic.main.activity_main.* 해줘야 함!

 

 

2, dependencies에 통신 간결하게 해주는 implementation 'com.squareup.okhttp3:okhttp:3.8.1' 추가

 

 

3, dependencies에 implementation 'com.google.code.gson:gson:2.8.5' 추가

Json파일에 있는 데이터를 자바/코틑린 클래스의 Object로 쉽게 전환해준다.

 

 

Sync Now해주면 build.gradle(:app) 작업은 끝!

 

 


AndroidManifest.xml에 추가할 것들

1, Json 파일을 안드로이드로 가지고 오기 위해 웹서버 접근 허용하기위해서

<uses-permission android:name="android.permission.INTERNET" />해주기

 

 

2, http 사이트에 대한 접근 허용 위해 application에 android:usesCleartextTraffic="true" 해주기

끝!

 


이제 어느 파일들이 필요한지 알아본 뒤 자세한 코드들을 알아보자.

 

 

activity_main.xml : 리사이클러뷰

hinfo.xml : 리사이클러뷰에 들어갈 아이템

hinfo.kt : 리사이클러뷰에 들어갈 데이터 클래스, 인자는 Json 피일에서 불러올 데이터 형식과 같음

 

JsonObj.kt : hinfo에 대한 배열을 갖는 데이터 클래스

 

hinfoAdapter.kt : 리사이클러뷰의 어댑터 클래스(리사이클러뷰는 어댑터가 필요함)

 

MainActivity.kt : 버튼 누르면 서버에서 정보 받아와 화면에 보여주는 동작 처리


<xml 코드>

activity_main.xml

hinfo.xml

<kt 코드>

hinfo.kt

JsonObj.kt 

hinfoAdapter.kt

MainActivity.kt  

반응형
Comments