728x90
🟦 45강. 이클립스 설정
▶️ 이클립스 설정
- 서버 프로그램 구현을 위해 사용할 Eclipse 기본 설정 수행
- Apache-Tomcat 서버와의 연동 설정을 수행
- 프로젝트를 생성하고 실행 테스트를 수행
🟦 46강. OkHttp 라이브러리 사용
▶️ OkHttp 라이브러리
- REST API, HTTP 통신을 간편하게 구현할 수 있도록 다양한 기능 제공하는 라이브러리
🟧 사용을 위한 세팅
1) 뷰 바인딩 설정
- Module 수준의 build.gradle 파일에 viewBinding 설정 true 준다.
buildFeatures{
viewBinding = true
}
2) OkHttp라이브러리 사용을 위해 dependencies에 의존 추가한다.
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
3) 네트워크 사용을 위해 ‘인터넷 권한’을 추가한다.
◾ AndroidManifest.xml
<uses-permission android:name = "android.permission.INTERNET"/>
4) AndroidManifest.xml 에 다음을 추가
- Http 사용 시, 보안 문제 때문에 다음을 추가한다.
android:usesCleartextTraffic="true"
5) 네트워크 관련 처리는 반드시 ‘쓰레드’로 동작 처리 필수
◾ MainActivity.kt
package com.example.okhttpapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.okhttpapplication.databinding.ActivityMainBinding
import okhttp3.OkHttpClient
import okhttp3.Request
import kotlin.concurrent.thread
class MainActivity : AppCompatActivity() { //'메인' 액티비티
//뷰 바인딩 설정
lateinit var mainActivityBinding : ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//뷰 바인딩 설정
mainActivityBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(mainActivityBinding.root)
//버튼 이벤트 처리
mainActivityBinding.connectBtn.setOnClickListener{
thread{//쓰레드로 동작해야 네트워크 관련 처리 가능
//localhost 부분에 서버 Ip 주소 담기
val site = "http://172.30.1.9:8080/App3_CommunityServer/test.jsp"
//okHttp 객체
val client = OkHttpClient()
val request = Request.Builder().url(site).get().build()
val response = client.newCall(request).execute() //접속됨
// 만약 서버와 통신 성공 시
if(response.isSuccessful == true) {
val result = response.body?.string() //서버로부터 받은 데이터를 받아올 수 있다.
runOnUiThread{
mainActivityBinding.resultText.text= result
}
}
}
}
}
}
→ 여기서 서버 연동할 site 주소 속 localhost는 자신의 컴퓨터 ip 주소로 대체해야 한다.
→ 명령 프롬포트에서 ipconfig 명령어 입력 시 등장하는 ip 주소 가져올 것
🟧 최종 모습
1) 서버 위에 올라간 test.jsp 파일 속 내용물
2) 위 url 주소에 ip주소 혼합시켜서 ‘안드로이드 앱’에 데이터 가져옴
- 사용자가 버튼 클릭 시, 가져올 수 있도록 이벤트 처리되어 있다.
728x90
'App(앱)_관련 공부 모음 > [강의] Android_App Project' 카테고리의 다른 글
# PRJ_3. 커뮤니티 게시판 앱_(13) 회원가입 처리 -> 서버, DB에 저장작업 (0) | 2022.08.03 |
---|---|
# PRJ_3. 커뮤니티 게시판 앱_(12) 회원가입 기본 기능-유효성 검사 구현 (0) | 2022.08.03 |
# PRJ_3. 커뮤니티 게시판 앱_(10) 서버 준비와 DB 생성 (0) | 2022.08.02 |
# PRJ_3. 커뮤니티 게시판 앱_(9) 게시글 수정 화면 구성 (0) | 2022.08.02 |
# PRJ_3. 커뮤니티 게시판 앱_(8) 게시글 읽기 화면 메뉴 구성 (0) | 2022.08.02 |