android学习之okhttp 实现与前后端通信

项目需求,音乐信息从后端获得,项目中用到 get / post请求

在使用OkHttp之前,引入库:

implementation 'com.squareup.okhttp:okhttp:2.7.5'
implementation 'com.squareup.okio:okio:1.11.0'

另外在AndroidManifest.xml中允许设备联网:

<uses-permission android:name="android.permission.INTERNET" />

①异步post请求写法,为了方便以后,还是把全部代码贴了
我这里是把post请求写在一个函数里,在打开app的时候调用,即请求数据

public class MainActivity extends AppCompatActivity {
	/*
		这里声明一个handler来接收onReponse中传出来的数据,myPhotoUrlList就是我们需要也可以操控的数据了
		(我这里是把数据放进适配器,代码有点多,懒得放了,知道怎么拿出数据就好)
	*/
	 private Handler newHandler = new Handler() {
	        @Override
	        public void handleMessage(Message msg) {
	            super.handleMessage(msg);
	     
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 OkHttp实现 Android 与 Spring Boot 的前后端交互可以分为以下步骤: 1. 添加 OkHttp 库依赖 在 Android 项目的 build.gradle 文件中添加 OkHttp 库的依赖: ``` dependencies { implementation 'com.squareup.okhttp3:okhttp:4.9.0' } ``` 2. 在 Android 中发送请求 在 Android 中使用 OkHttp 发送请求的代码如下: ``` OkHttpClient client = new OkHttpClient(); String url = "http://localhost:8080/api/user"; // Spring Boot 后端接口地址 Request request = new Request.Builder() .url(url) .build(); try (Response response = client.newCall(request).execute()) { String responseData = response.body().string(); // 处理响应数据 } catch (IOException e) { e.printStackTrace(); } ``` 以上代码中,我们创建了一个 OkHttpClient 对象,并指定了 Spring Boot 接口的地址和请求方式,然后使用 client.newCall(request).execute() 发送请求并获取响应数据。 3. 在 Spring Boot 中接收请求 在 Spring Boot 中,我们需要编写接口来接收 Android 发送的请求。示例代码如下: ``` @RestController @RequestMapping("/api") public class UserController { @GetMapping("/user") public User getUser() { // 业务处理 return new User(); } } ``` 以上代码中,我们使用 @RestController 和 @RequestMapping 注解来定义一个接口,然后在接口中处理业务逻辑,最后返回一个 User 对象。 4. 在 Android 中处理响应数据 在 Android 中,我们可以在 try 代码块中通过 response.body().string() 获取到响应数据,然后对数据进行处理。例如,我们可以将响应数据解析成 JSON 格式并显示在界面上: ``` try (Response response = client.newCall(request).execute()) { String responseData = response.body().string(); JSONObject jsonObject = new JSONObject(responseData); String username = jsonObject.getString("username"); String email = jsonObject.getString("email"); // 将数据显示在界面上 } catch (IOException | JSONException e) { e.printStackTrace(); } ``` 以上代码中,我们使用 JSONObject 类将响应数据解析成 JSON 格式,并从中获取到 username 和 email 的值,最后将这些值显示在界面上。 至此,我们就完成了 Android 和 Spring Boot 的前后端交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值