Android Studio 使用Gemini 提升开发效率

什么是Gemini

最新版本的Android Studio 添加了Gemini,Gemini 是 Android 开发方面的AI编码助手。他可以帮助我们生成代码、学习最佳实践、查阅资料帮助你解决问题等等,Gemini 提供的问答可能是不准确的,需要开发者甄别使用。

如何使用

在Android Studio工具栏依次点击 View > Tool Windows > Gemini,然后点击右侧的Gemini角标,这样就能看到Gemini的功能框啦。

在这里插入图片描述

打开的时候会遇到 Gemini it’s not available in my country这个问题。在设置里面设置下代理就好了。 在这里插入图片描述

具体实践

代码补全

初始化Gemini的时候可以设置是否开启代码补全,后面也可以在设置中开关。

在这里插入图片描述

如果是公司项目,会涉及到隐私问题,比如说一些关键的秘钥,不想让ai扫描到,可以通过设置.aiexclude文件的方式排除掉那些文件。格式的话跟.gitignore类似。

在这里插入图片描述

错误排查

在控制台中右键错误,选择explain this crash,Gemini会帮助你分析错误原因。 在这里插入图片描述

代码能力

Gemini 的回答因问题而异,向Gemini提问时尽量简明扼要,这里让Gemini提供了Android使用Okhttp下载文件的最佳实践,以下是Gemin生成的代码。注释、以及接口设计的很详细。如果不满意你可以通过连续对话的方式让Gemini优化他的代码。

object OkHttpUtil {

    // 下载文件
    fun downloadFile(url: String, file: File, progressListener: ((Long, Long) -> Unit)? = null): Call {
        val request = Request.Builder()
            .url(url)
            .build()

        val client = OkHttpClient.Builder()
            .addNetworkInterceptor { chain ->
                val originalResponse = chain.proceed(chain.request())originalResponse.newBuilder()
                    .body(ProgressResponseBody(originalResponse.body!!, progressListener))
                    .build()
            }
            .build()

        val call = client.newCall(request)
        call.enqueue(object : Callback {
            override fun onFailure(call: Call, e: IOException) {
                // 处理下载失败
            }

            override fun onResponse(call: Call, response: Response) {
                // 处理下载成功
                val inputStream = response.body!!.byteStream()
                val outputStream = FileOutputStream(file)
                outputStream.use { output ->
                    inputStream.copyTo(output)
                }
            }
        })

        return call
    }
}

// 下载状态枚举类
enum class DownloadStatus {
    Success(val file: File),
    Error(val error: Throwable)
}

// 进度回调接口
typealias ProgressListener = (bytesDownloaded: Long, totalBytes: Long) -> Unit

// 进度响应体
class ProgressResponseBody(
    private val responseBody: ResponseBody,
    private val progressListener: ProgressListener?
) : ResponseBody() {

    private var bufferedSource: BufferedSource? = null

    override fun contentType(): MediaType? {
        return responseBody.contentType()
    }

    override fun contentLength(): Long {
        return responseBody.contentLength()
    }

    override fun source(): BufferedSource {
        if (bufferedSource == null) {
            bufferedSource = source(responseBody.source()).buffer()
        }
        return bufferedSource!!
    }

    private fun source(source: Source): Source {
        return object : ForwardingSource(source) {
            var totalBytesRead = 0L

            override fun read(sink: Buffer, byteCount: Long): Long {
                val bytesRead = super.read(sink, byteCount)
                totalBytesRead += if (bytesRead != -1L) bytesRead else 0
                progressListener?.invoke(totalBytesRead, responseBody.contentLength())
                return bytesRead
            }
        }
    }
}

代码增强

选择代码块,选择Suggest Improvements,Gemini能够给出相应的优化建议,相当于让AI帮你code review了😄。

总结

作为android studio 自带的AI辅助功能,Gemini 和android 开发结合的更加完整,其能够帮助我们大大提升开发效率,节省我们的开发时间,但也要注意有些回答是具有误导性,需要开发者自行辨别。期待他后续的进化迭代。
如果你看到了这里,觉得文章写得不错就给个赞呗?
更多Android进阶指南 可以扫码 解锁更多Android进阶资料


在这里插入图片描述
敲代码不易,关注一下吧。ღ( ´・ᴗ・` )

### Android Studio 插件库列表及使用方法 #### 插件库概述 Android Studio 的插件库提供了丰富的扩展功能,能够显著提升开发效率。这些插件涵盖了从代码编辑到项目管理等多个方面。 #### 官方插件市场访问方式 通过官方渠道获取插件是最安全可靠的方法之一。用户可以在 Android Studio 中直接进入插件市场进行浏览和安装[^1]。 #### 推荐插件简介 ##### 1. 中文语言包 对于希望界面汉化的开发者来说,简化中文语言包是一个不错的选择。该插件由 JetBrains 提供维护,确保了高质量的本地化支持[^3]。 ##### 2. iFlyCode 智能编程助手 此插件利用讯飞星火大模型技术实现智能化编码辅助,具备强大的多语言处理能力,特别适合从事跨平台应用开发的技术人员[^2]。 ##### 3. Gemini AI 工具套件 来自 Google 的 Gemini 插件集成了先进的人工智能算法,在自然语言理解和程序分析等方面表现出色,有助于加速复杂项目的迭代过程[^4]。 #### 使用步骤说明 虽然不允许使用诸如“首先”这样的引导词,但在实际操作过程中建议按照如下顺序执行: - 打开 Android Studio 软件; - 寻找菜单栏里的 `File` 或者 `设置` 入口; - 进入 `Plugins` 页面后切换至 `Marketplace` 标签页; - 利用顶部搜索框定位目标插件并点击右侧按钮完成安装流程; - 根据提示重启 IDE 生效变更。 ```bash # 示例命令行用于模拟启动 AS 后台服务 (仅作示意用途) $ ./studio.sh & ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值