5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

金沢工業大学Advent Calendar 2023

Day 8

jetpackComposeでPaLM APIを使うための環境構築

Last updated at Posted at 2023-12-08

開発環境

MacBookPro(M2)

環境構築

参考(PaLM API: Android のテキスト クイックスタート)

palmのAPIkeyを取得する

このドキュメントを参考に、APIを取得してください。
image.png

APIkeyですが、コンソールから確認できても取得ができなかったため、環境変数として実装しました。そのままapikeyを実装すれば動きました。

APIクライアントをインストールする

これの通りに進める

  • ファイルのダウンロード
    • 任意のダウンロードフォルダでOK
    • 将来的にダウンロードしなくていいようになるらしい
  • ダウンロードしたディレクトリパスでターミナル開いてコマンドを実行

任意のプロジェクトを設定する

  • AndroidManifest.xmlを編集
  • setting.gradleを編集
  • build.gradle(:app)を編集

サンプルで遊んでみる

MainViewModelの作成

サンプルの注意

  • transportChannelProviderhashMapOf関数で"x-goog-api-key"の後にtoを入れてください
  • MainViewModel.kt
      val transportChannelProvider = InstantiatingGrpcChannelProvider.newBuilder()
                  .setHeaderProvider(FixedHeaderProvider.create(hashMapOf("x-goog-api-key" to System.getenv("PALM_API_KEY"))))
                  .build()
    

MainActivityの作成

  • SampleUiのTextコンポーネントのスタイル指定を修正してください
MainActivity.kt
// ...
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun SampleUi(
    viewModel: MainViewModel = hiltViewModel()
) {
    // ...
    Column(
        // ...
    ){
        Card(
            // ...
        ) {
            Column(
                modifier = Modifier.padding(8.dp)
            ) {
                Text(
                    modifier = Modifier.fillMaxWidth(),
                    text = textOutput,
                    // この行
                    style = MaterialTheme.typography.bodyMedium
                )
            }
        }
    }
}

エミュレーターで動くようになりました!
image.png

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?