1. 前言
这篇文章旨在教大家快速构建一个可以使用ChatGPT api进行聊天的App。
2. 引入相关依赖
我们使用Volley来进行网络请求。
Volley是一个能够让Android应用更轻松、更快捷地联网的 HTTP 库,在API调用中经常使用
在build.gradle中引入Volley库
3. 开启联网权限
在AndroidManifest.xml中输入以下代码:
4. 编写代码
4.1 分析
我们知道一个聊天软件,或者说网页版的ChatGPT,就是上面一个聊天界面,下面一个聊天框。
聊天框肯定不用多说,就是一个TextField(EditText)。
上面的聊天界面也不过就是一个列表罢了,可以根据是ChatGPT说的话还是用户自己发送的话来判断气泡框的左右。
下图是OpenAI官网给出的样图,那么我们可以模仿他来写一个。
4.2 准备数据类-消息
4.3 准备消息列表
这个List用来存放消息
4.4 发送网络请求
参照官网给出的文档,构建一个JSONObject来发送请求,收到Response后将消息放进messageList中。
4.5 编写界面
- 聊天框
分析一下聊天框
传入的参数是text(对话内容),type(身份)
根据type确定对话框的颜色和身份显示
首先是一个纵向布局:Text显示身份(“ChatGPT”或者“Me”),Row里面的内容是对话框
Row里面的Divider是对话框左边的线,Text表示内容
显示效果:
- 输入框
输入框没什么好说的,就是一个TextField设置一下形状和颜色。
按回车发送的时候调用刚刚写的sendQuestion方法
显示效果:
- 聊天列表
聊天列表使用LazyColumn
- 组合起来
5. 最终效果
如果你看到了这里,觉得文章写得不错就给个赞呗?
敲代码不易,关注一下吧。ღ( ´・ᴗ・` )