오늘은 시도해 보지는 못했지만, 혹시 시도해 보려는 분들을 위해 검색한 정보를 모아 보도록 하겠습니다.
MicroSoft 가 제공하는 Azure database 도 안드로이드에서 접속해 사용해 볼 수 있을까요?
이런 가이드 들은 java 을 이용한 서버(?)에서 구현이 가능한 코드 등을 제공하고 있습니다. 저는 android에서 접속을 해야 하는 데 말입니다. was로 구성을 하는 거나, android에서 구성하는 것의 차이는 아마도 지연이 발생하는 처리를 어떻게 하는 가 일 듯합니다.
샘플코드등은 여기에서도 얻을 수 있습니다. 아직 실행해 보지 않았던 부분이라서 적당한 예제 인지는 검증이 필요해 보이기는 합니다.
안드로이드로 가기 위해서
이제 조금 더 정보가 필요해 보입니다. 그걸 해소 하기 위해서 chatGpt을 활용해 볼 수 있을 것 같습니다. 좀 더 상세한 이야기는 정리가 되면 수정해 보겠습니다.
chatGPT 을 활용해 얻은 정보를 정리해 보겠습니다.
먼저 gradle 파일에 추가를 해야 한다고 합니다.
dependencies {
// Other dependencies
implementation "com.microsoft.sqlserver:mssql-jdbc:9.2.1.jre11"
}
이제 연결을 구현하는 코드를 가져와 봅니다.
연결이 되었다면 그 다음 조회 하는 처리를 구현한 코드를 보겠습니다. 다만, chatGPT 는 android 에서 처리를 해야 한다고 하니, Thread 을 이용한 코드로 전환을 해 주었습니다.
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import java.sql.Connection
import java.sql.DriverManager
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
connectToDatabase()
}
private fun connectToDatabase() {
Thread {
val connectionString = "jdbc:sqlserver://your-server-name.database.windows.net:1433;database=your-database-name"
val username = "your-username"
val password = "your-password"
var connection: Connection? = null
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
connection = DriverManager.getConnection(connectionString, username, password)
// Now you can perform database operations using the 'connection' object.
} catch (e: Exception) {
e.printStackTrace()
} finally {
connection?.close()
}
}.start()
}
}
manifest 에 internet 을 접속할 수 있는 권한은 추가 해야 합니다. 그래야 접속을 시도해 볼 수 있으니까요?
이제 접속 테스트는 해 볼 수 있을 것 같습니다. Thread 을 이용하는 것 보다는 lifecycleScope 을 이용하는 방식으로 수정을 해 보는 것이 kotlin 에 조금더 접합한 코드가 되지 않을 까 하는 생각이 듭니다.
접속이 되었으니 select 하는 구문등은 상상으로 남겨 두겠습니다.
다만, 이렇게 접속 DB 접속을 하는 코드 구현은 추천하지 않습니다. 요즘은 워낙 debugging 을 잘 하기 때문에 DB 접속에 대한 정보가 누출된 소지가 있습니다. 그런 부분은 관리자의 역량으로 남겨 두겠습니다.
'모바일 앱(안드로이드)' 카테고리의 다른 글
안드로이드 앱 만들기 : AVD 가 갑짜기 실행 되지 않아요 (스마트 앱 컨트롤) (117) | 2023.09.10 |
---|---|
안드로이드 앱 만들기 : jetpack compose 1.5 가 안정화 되었습니다. (인터넷 펌) (10) | 2023.08.31 |
안드로이드 앱 만들기 : 스크래핑 2번째 이야기 URL 열어 보 (90) | 2023.08.29 |
안드로이드 앱 만들기 : 스크래핑 도전기 ( 새로운 댓글 목록 찾아서 열어보기 ) (70) | 2023.08.24 |
안드로이드 앱 만들기 : playstore 앱 서명 인증서 분실 등의 이슈 대처 방 (65) | 2023.08.23 |