Kotlin, Android Studio, 워치 앱, MySQL let's go

leverest96·2023년 9월 25일
0

Trouble Shooting

목록 보기
20/20
post-thumbnail

문제 인지

Kotlin으로 Android Studio를 이용하며 워치 앱을 개발중이다.

우리는 백엔드 서버를 Java와 Spring Boot를 이용하여 구성중이며 DB는 MySQL을 사용하기 때문에 Android Studio에서 바로 저장을 하려고 찾아봤다.

근데 웬걸? MySQL에 직접 접근을 하는 방식은 전혀 찾아볼 수가 없었다.

보안상의 이유로 php 파일을 이용한 해결책만이 인터넷에 돌아다녔다.

문제 해결

사실 문제 해결은 아니다.

현재 백엔드 서버에 직접 api 요청을 보내서 해결할 예정이다. 하핳

코드는 chatGPT에서 참고한 코드이며 뜯어볼 예정!

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 버튼 클릭 이벤트 처리
        getDataButton.setOnClickListener {
            // AsyncTask를 사용하여 백그라운드 스레드에서 HTTP 요청 수행
            FetchDataFromServer().execute()
        }
    }

    inner class FetchDataFromServer : AsyncTask<Void, Void, String>() {
        override fun doInBackground(vararg params: Void?): String? {
            val client = OkHttpClient()
            val request = Request.Builder()
                .url("YOUR_SERVER_URL/api/data/all") // 스프링 부트 서버의 엔드포인트 URL을 여기에 입력
                .get()
                .build()

            try {
                val response = client.newCall(request).execute()
                return response.body?.string()
            } catch (e: Exception) {
                e.printStackTrace()
            }
            return null
        }

        override fun onPostExecute(result: String?) {
            super.onPostExecute(result)

            // 서버로부터의 응답(result)을 처리하는 코드
            if (!result.isNullOrBlank()) {
                // JSON 데이터를 파싱하여 필요한 정보를 추출하여 사용
                // 예: TextView에 데이터를 표시
                resultTextView.text = result
            }
        }
    }
}
profile
응애 난 애기 개발자

0개의 댓글