草庐IT

RetroFit

全部标签

大型Android项目架构:基于组件化+模块化+Kotlin+协程+Flow+Retrofit+Jetpack+MVVM架构实现WanAndroid客户端

前言:苟有恒,何必三更眠五更起;最无益,莫过一日曝十日寒。前言之前一直想写个WanAndroid项目来巩固自己对Kotlin+Jetpack+协程等知识的学习,但是一直没有时间。这里重新行动起来,从项目搭建到完成前前后后用了两个月时间,平常时间比较少,基本上都是只能利用零碎的时间来写。但不再是想写一个简单的玩安卓项目,我从多个大型项目中学习和吸取经验,从0到1打造一个符合大型项目的架构模式。这或许是一个缩影,但是麻雀虽小,五脏俱全,这肯定能给大家带来一些想法和思考。当然这个项目的功能并未全部完善,因为我们的目的不是造一个WanAndroid客户端,而是学习搭建和使用Kotlin+协程+Flow

java - 当通过 Node.js 从 MongoDB 数据库查询项目时,Android 中的 Retrofit 2 导致 Java.io.EOFException

我在尝试使用Android项目中的Retrofit2从mLab以JSONArray的形式同时查询多个MongoDB文档时遇到了问题。我尝试查询的文档在其中一个字段中具有相同的值,因此我在我的Node.jsAPI中使用了db.collection.find()方法。这是Android应用程序代码。productSubscription.add(ProductNetworkUtil.getProductRetrofit(myToken).getProductByCategory("Hardware").observeOn(AndroidSchedulers.mainThread()).su

如何使用Android Studio中的Retrofit和Recylerview渲染JSON数据

我正在尝试使用Raturofit和Recyclerview从Web应用程序显示。我有以下模型:主要活动publicclassProfileActivityextendsAppCompatActivity{privateSalesAdaptermAdapter;privateRecyclerViewmRecyclerView;privateSaleServicemService;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.l

Android-数据在微调器中分配,但选择时不显示微调器中的值

问题我正在使用Retrofit从mysql中获取一些产品类别。数据即将到来并在微调器中分配,但是当我选择一个项目时它不会显示。在下拉菜单中分配了项目并且setOnItemSelected监听器也在工作。但所选项目未显示在微调器中。我已经尝试了几乎所有与stackoverflow相关的问题,但都没有用。请帮助我。提前致谢。代码这是订单ActivitypublicclassOrderActivityextendsAppCompatActivity{Spinnersp_category,sp_product;publicstaticfinalStringROOT_URL="http://10

如何使用带有多个参数的Retrofit 2创建帖子请求

我需要使用此方法[HttpPost]publicIHttpActionResultmethod(intparam0,intparam1,intparam2)使用Retrofit2,但我不知道要做,我尝试了@FormUrlEncoded@POST("method")Callmethod(@Field("param0")Integerparam0,@Field("param1")Integerparam1,@Field("param2")Integerparam2);但是我有404代码看答案@POST("method/{p1}/{p2}/{p3}")Callmethod(@Path("p1")in

读懂 Retrofit 原理~

什么是RESTfulAPI?一句话概括RESTfulAPI:在我们使用HTTP协议做数据传输时应当遵守HTTP的规矩,包括请求方法、资源类型、Uri格式等等..为什么将请求设置为(接口+注解)形式?迪米特法则:也称之为最小知道原则,即模块之间尽量减少不必要的依赖,即降低模块间的耦合性。门面模式:基于迪米特法则拓展出来的一种设计模式,旨在将复杂的模块/系统访问入口控制的更加单一。举个例子:现要做一个获取图片功能,优先从本地缓存获取,没有缓存从网络获取随后再加入到本地缓存,假如不做任何处理,那每获取一张图片都要写一遍缓存逻辑,写的越多出错的可能就越高,其实调用者只是想获取一张图片而已,具体如何获取

Retrofit2 的baseUrl 到底要不要以“/”结尾

前言最近新换公司,公司要求使用Retrofit2作为网络框架,所以大量阅读相关博客,发现很多博客都提到注意Retrofit2的baseUrl必须以“/”(斜线)结束,不然会抛出一个IllegalArgumentException异常。当然也有不同意见的博主表示,不以“/”(斜线)同样不会抛出异常,但也没有说出个所以然来。好巧不巧的是,自己在项目中使用的时候就没以“/”(斜线)结尾,确实没抛出异常(Retrofit2版本:2.9.0)。所以决定一探究竟。当出现不同答案时,源码才能告诉我们谁对谁错。Ok废话不多说,进入主题。在看源码前,我们需要先了解下Url的格式了我们常见的基本都是scheme:

Android-网络请求库Retrofit的使用

图片来源网络,入侵必删在日常的Android项目开发或者维护,我们都会使用或者遇到Retrofit网络请求库。这篇博客分享我了解的Retrofit相关的知识,希望对开文章的小伙伴有所帮助。Retrofit适用Android网络请求库。Retrofit导入项目implementation('com.squareup.retrofit2:retrofit:2.9.0')截止我发布博客,开源库版本是2.9.0。最新的版本请查看开源库的wiki一般情况下我都会加入解析相关的开源库,我个人比较喜欢Gson解析库:implementation'com.squareup.retrofit2:converte

Android 使用Retrofit+协程实现超简单大文件下载并回显进度条

这里直接使用之前文章配置好的傻瓜式网络请求工具来写文件下载,不对Retrofit做过多描述,不清楚的可以看这篇文章>,废话不多说,直接上代码安卓自带的进度条弹窗过时了,这里简单创建一个进度条弹窗在drawable文件夹创建progress_dialog_bg_style.xml一个圆角白色背景样式创建alert_dialog_download_progress.xml布局创建弹窗工具类,使用刚才创建好的布局objectDialogUtil{/***下载进度条弹窗*/funshowDownloadProgress(context:Context,title:String?=null):Alert

java.lang.NumberFormatException : Expected an int but was 0. 6 在第 1 行第 8454 列

我在演示项目中使用改造库进行调用。我收到以下错误:java.lang.NumberFormatException:Expectedanintbutwas0.6atline1column8454path$.result.results.ads[2].acres我知道这取决于GSON。我将向您展示它被捕获的JSON:{"ad_id":739580087654,"property_type":"site","house_type":"","selling_type":"private-treaty","price_type":"","agreed":0,"priority":2,"descr