테크뉴스 & 이슈

Android Studio에서 Gemini 연동하는 법! 실전 코드 예제까지

↓M_M↑-Tech 2025. 4. 16. 00:00

Gemini + 안드로이드 연동 실전 예제
Gemini + 안드로이드 연동 실전 예제

 

Google의 생성형 AI 모델 Gemini를 Android Studio에 연동하면, 사용자가 입력한 질문에 AI가 응답하거나 텍스트 요약, 콘텐츠 생성 같은 다양한 기능을 앱에 쉽게 추가할 수 있습니다.

이번 글에서는 Android Studio에서 Gemini API를 사용하는 기본적인 연동 구조와 함께 API 호출 코드 예제까지 실제 구현 과정을 소개합니다.

1. 사전 준비 사항

  • 📱 Android Studio 최신 버전 설치
  • 🔑 Google AI Studio 또는 Vertex AI 콘솔에서 API 키 발급
  • 📦 프로젝트에 OkHttp 라이브러리 추가

2. Gradle 설정

// build.gradle (Module)
dependencies {
    implementation 'com.squareup.okhttp3:okhttp:4.10.0'
}

3. API 키 등록

# local.properties
GEMINI_API_KEY=your_real_key_here

4. GeminiService 클래스

class GeminiService(private val apiKey: String) {
    private val client = OkHttpClient()
    private val url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$apiKey"

    fun generateText(prompt: String, callback: (String?) -> Unit) {
        val json = JSONObject().apply {
            put("contents", listOf(mapOf("parts" to listOf(mapOf("text" to prompt)))))
        }

        val body = RequestBody.create("application/json".toMediaType(), json.toString())
        val request = Request.Builder().url(url).post(body).build()

        client.newCall(request).enqueue(object : Callback {
            override fun onFailure(call: Call, e: IOException) {
                callback(null)
            }

            override fun onResponse(call: Call, response: Response) {
                response.body?.string()?.let {
                    val result = JSONObject(it)
                        .getJSONArray("candidates")
                        .getJSONObject(0)
                        .getJSONObject("content")
                        .getJSONArray("parts")
                        .getJSONObject(0)
                        .getString("text")
                    callback(result)
                } ?: callback(null)
            }
        })
    }
}

5. MainActivity 예제

class MainActivity : AppCompatActivity() {
    private lateinit var geminiService: GeminiService

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

        val output = findViewById<TextView>(R.id.outputText)
        val button = findViewById<Button>(R.id.askButton)

        val apiKey = BuildConfig.GEMINI_API_KEY
        geminiService = GeminiService(apiKey)

        button.setOnClickListener {
            geminiService.generateText("AI가 세상을 바꾸는 방법은?") { result ->
                runOnUiThread {
                    output.text = result ?: "에러 발생"
                }
            }
        }
    }
}

6. 실행 결과

버튼을 누르면 Gemini가 실시간으로 텍스트를 생성해 TextView에 출력합니다. 빠른 응답 속도, 높은 자연어 품질로 실용적인 AI 기능을 앱에 구현할 수 있습니다.

 

Gemini + 안드로이드 연동 실전 예제
Gemini + 안드로이드 연동 실전 예제

🔗 참고 링크

 

로그인 - Google 계정

이메일 또는 휴대전화

accounts.google.com

 

 

 

https://cloud.google.com/vertex-ai

 

cloud.google.com

 

✅ 요약

  • 🤖 Gemini는 안드로이드 앱에도 연동 가능
  • 🔑 API 키만 발급받으면 쉽게 테스트 가능
  • ⚙️ OkHttp 기반으로 POST 요청 처리
  • 📱 실시간 텍스트 생성 기능 앱에 적용 가능

Gemini 연동은 복잡하지 않으며, 대화형 AI, 요약 도구, 교육 앱 등 다양한 아이디어에 즉시 적용할 수 있습니다. 실제 앱 개발에 적용해 보면서 활용도를 체감해보세요.