当前位置: 首页 > news >正文

专门做特价的网站官网网站建设企业

专门做特价的网站,官网网站建设企业,企业网站建设有几种形式,怎么免费搭建自己的网站简介 在 Android 开发中,网络请求是一个极为关键的部分。Retrofit 作为一个强大的网络请求库,能够简化开发流程,提供高效的网络请求能力。 Retrofit 是一个建立在 OkHttp 基础之上的网络请求库,能够将我们定义的 Java 接口转化为…

简介

在 Android 开发中,网络请求是一个极为关键的部分。Retrofit 作为一个强大的网络请求库,能够简化开发流程,提供高效的网络请求能力。

Retrofit 是一个建立在 OkHttp 基础之上的网络请求库,能够将我们定义的 Java 接口转化为相应的 HTTP请求,Retrofit 是适用于 Android 和 Java 的类型安全 HTTP 客户端。通过Retrofit,我们可以轻松发起网络请求,还能将服务器返回的数据转换为所需的格式,如 JSON。

简单使用

1. 在 APP 目录下的 build.gradle 里添加依赖

    // retrofit// https://github.com/square/retrofitimplementation("com.squareup.retrofit2:retrofit:2.9.0")// 适配 retrofit 使用 gson 解析// 版本要和 retrofit 一样implementation("com.squareup.retrofit2:converter-gson:2.9.0")// 使用 gson 解析 json// https://github.com/google/gsonimplementation("com.google.code.gson:gson:2.10.1")

2. 在 AndroidManifest.xml 里添加网络权限

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

3. NetworkModule.kt 创建 Retrofit 实例。单例创建Retrofit,并通过create() 方法返回一个 Service 实例。

public class NetworkModule {private static Retrofit newsRetrofit;private NetworkModule(){}public static <T> T getService(Class<T> newsService){if (newsRetrofit == null) {synchronized (NetworkModule.class){if (newsRetrofit == null) {newsRetrofit = new Retrofit.Builder().baseUrl("http://v.juhe.cn/").addConverterFactory(GsonConverterFactory.create()).build();}}}//TODO 通过 Retrofit 的 create() 方法返回一个传入 Service 的实例return newsRetrofit.create(newsService);}
}

getService(Class<T> newsService) 方法里,通过Retrofit.create() 方法,返回一个传入的 NewsService 的实例

4. NetworkService.kt 创建网络请求的 Service。是一个接口类

public interface NetworkService {@GET("toutiao/index")Call<NewsEntity> getNewsService(@Query("key") String key);
}

NewsEntity 是一个实体类,解析返回的数据。Result.java是一个具体的数据类,可根据返回的数据进行细化。

public class NewsEntity {private String reason;//返回说明, 成功为 success//private Result result;private int error_code;// 返回码public String getReason() {return reason;}public void setReason(String reason) {this.reason = reason;}public int getError_code() {return error_code;}public void setError_code(int error_code) {this.error_code = error_code;}
}

5. MainActivity.java 进行网络请求

public class MainActivity extends AppCompatActivity {private TextView networkRequest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);networkRequest = findViewById(R.id.network_request);networkRequest.setOnClickListener(view -> {// 创建 NetworkService 的实例NetworkService networkService = NetworkModule.getService(NetworkService.class);networkService.getNewsService("40279bee66d427555ce361fe49387a8e").enqueue(new Callback<NewsEntity>() {@Overridepublic void onResponse(Call<NewsEntity> call, Response<NewsEntity> response) {// TODO 请求成功Log.d("HL", response.body().getReason());}@Overridepublic void onFailure(Call<NewsEntity> call, Throwable t) {// TODO 请求失败}});});}}

注意:网络请求是异步操作,应该放入子线程里执行。这里为了演示请求是否成功,就简单的在 UI 线程里进行。

请求的数据是聚合数据上的新闻头条API 接口,请求地址为: "http://v.juhe.cn/toutiao/index?key=40279bee66d427555ce361fe49387a8e"。由于是使用的 http 请求头,所以需要在 AndroidManifest.xml 里添加 android:usesCleartextTraffic="true",更改网络安全配置。

最后,通过打印 Log 的方式,查看请求是否成功。 现实结果为 success。

对应的 Java 版本实现:Android---Retrofit实现网络请求:Kotlin版 

http://www.yayakq.cn/news/232180/

相关文章:

  • 济南网站建设 荐搜点网络网页界面设计中
  • 政务网络及网站建设网页设计需要用到的软件
  • 已有网站备案更换idc 多久网站qq 微信分享怎么做
  • 自学网站建设做淘宝那样的网站麻烦吗
  • 湛江做网站公司广告发布形式有哪几种
  • 东莞免费建网站企业广东人才网官方网站招聘信息
  • 网站制作推广方案网站建设最便宜多少钱
  • 能直接用网站做海报吗大连做网站比较好的公司
  • 网站建设所用系统广告设计公司朋友圈文案
  • WordPress上放广告广州seo营销培训
  • 网站建设项目资金申请wordpress怎么自己写源码吗
  • 卖房子上哪个网站最好卖网上注册公司营业执照注册流程
  • 攀枝花网站建设网络营销培训
  • 西安双语网站建设vi设计哪里有
  • 百度爱采购下载app谷歌网站推广优化
  • 湘西网站建设公司怎么在携程旅行做网站
  • 做个自己的网站需要多少钱网上花店 网站源代码
  • 做seo要明白网站内容邢台网站建设报价多少钱
  • 太原模板建站系统上海做营销网站哪个公司好
  • 网站维护建设招标电商在线设计网站
  • 哪个网站做公司业务广告效果好wordpress 关注插件
  • 网站建设评审表运城市住房和城乡建设局网站
  • 免费的舆情网站六安市建设网站市场信息价
  • 公司国外网站建设网站推广的工具
  • 青岛网站建设首选衡水wap网站建设
  • 松原网站建设哪家好重庆建网站推广价格
  • 如何进行主题网站的资源建设网站制作哪个好一些
  • 电商网站建设维护汕尾手机网站开发
  • 学会python做网站中国新闻
  • 网站你懂我意思正能量免费软件上海著名网站设计公司