草庐IT

java - 改造错误处理

我将Retrofit代码包装在如下类中。如果从我发布的代码中看不清楚,它正在与OAuth的restful服务交互。执行错误处理的好方法是什么?REST服务器返回json格式的错误消息。我想通过从我的类(class)中抛出一些异常(exception)来对该信息采取行动。我正在尝试做类似下面的事情。但这是好的设计吗?混合回调和异常抛出是个好主意吗?有没有更好的办法?通过下面的方法,我可以从我的自定义异常中获取i18l消息并将它们呈现给用户。publicclassRestClientimplementsIRestClient{privateIRestAPIapi;/****@paramac

android - 如何在改造中使用 HashMap 发布数据?

您能解释一下如何在retrofit2中使用hashmap发布数据吗? 最佳答案 这是我发的@FormUrlEncoded@POST("getProfile")CallgetProfile(@FieldMapHashMapdata);和HashMapHashMapmap=newHashMap();map.put("token","yourtoken");map.put("yourvariable","yourvariable"); 关于android-如何在改造中使用HashMap发布数据

android - 如何在使用改造发送到服务器之前压缩捕获的图像文件大小

我正在使用Retrofitretrofit:2.1.0'上传文件图片到服务器如果我使用前置摄像头拍摄图像,图像会上传成功,但如果使用后置摄像头,则未上传我认为是因为未上传大文件图像,在改造中发送到服务器之前是否有压缩文件大小的选项?文件发送编码map.put("complaint_category",RequestBody.create(parse("text"),caty_id_str.getBytes()));//Mapisusedtomultipartthefileusingokhttp3.RequestBodyFilefile=newFile(Config.uriImage);

android - 在改造 2.0 中处理 JSON 响应

我知道这是老问题或重复问题。但我不知道我哪里错了。我从这个JSON得到的结果为null。{"error":{"dateTimeUtc":"2017-12-26T05:46:05.1126801+00:00","errorReference":"samplestring2","errorType":"Error","title":"samplestring3","code":"samplestring4","messages":["samplestring1","samplestring2"]},"result":{"message":"samplestring1"}}我有这种类型的JS

java - 改造预期 begin_array 但在第 1 行第 2 列路径 $ 处是 begin_object

我正在观看YouTube视频学习改造但现在我被困住了。它向我显示错误“改造预期begin_array但在第1行第2列路径$处是begin_object”我正在尝试从此站点获取json数据。http://servicio-monkydevs.rhcloud.com/clientes/这是我的代码主Activity.javaresultadoTextView=(TextView)findViewById(R.id.Resultado);RetrofitrestAdapter=newRetrofit.Builder().baseUrl("http://servicio-monkydevs.r

android - 如何在改造 API 方法中传递 POST 参数?

我正在用Retrofit1.9版本编写我的第一个代码。我试着关注几个博客,但无法理解非常基本的问题。到目前为止,我已经使用jsonschema2pojo、RestAdapter类创建了Model类。这是我的模型类:@Generated("org.jsonschema2pojo")publicclassGmailOauth{@ExposeprivateStringcreatedAt;@ExposeprivateStringobjectId;@ExposeprivateStringsessionToken;@ExposeprivateStringusername;.....Getteran

java - Android改造设计模式

我正在使用Retrofit与我的RESTAPI交互,想知道是否有人有任何设计建议。我的应用有以下包:模特服务Activityfragmentservices包包含Retrofit的接口(interface)。例如:publicinterfaceFooService{@FormUrlEncoded@POST("foo/do")@Headers("Content-Type:application/x-www-form-urlencoded;charset=UTF-8")Calldo();}模型包含……好吧,不同的模型。例如,FooBar。到目前为止一切顺利-正如Retrofit文档所述。我

android - 改造方法调用可能产生 'java.lang.NullPointerException'

使用Retrofit2.3.0我在AndroidStudio中收到以下消息有关如何删除此IDE错误消息的任何建议。谢谢 最佳答案 来自Responsedocumentation:@NullablepublicTbody()Thedeserializedresponsebodyofasuccessfulresponse.这意味着response.body()可以返回null,因此调用response.body().getItems()可以抛出一个空指针异常。为避免出现警告消息,请在调用方法之前检查response.body()!=nu

java - 改造添加带有 token 和 ID 的 header

我在获取经过身份验证的用户时遇到问题。在此之前,我获得了token和用户ID。现在我需要使用访问token和ID从服务器获取用户。Ihaveheaderformat现在我正在尝试使用拦截器添加带有用户token和ID的header。我的代码:Interceptorinterceptor=newInterceptor(){@Overridepublicokhttp3.Responseintercept(Chainchain)throwsIOException{RequestnewRequest=chain.request().newBuilder().addHeader("Accept"

android - 改造 + OkHTTP - 响应缓存不工作

我知道有很多类似的问题,但我已经阅读了所有这些问题,但没有一个真正有帮助。所以,这是我的问题:我正在使用retrofit+okhttp从API获取一些数据,我想缓存它们。不幸的是,我没有API服务器的管理员权限,所以我无法修改服务器返回的header。(目前,服务器返回Cache-control:private)所以我决定使用okhttpheader欺骗来插入适当的缓存header。可悲的是,无论我做什么,缓存似乎都不起作用。我像这样初始化api服务:intcacheSize=10*1024*1024;//10MiBFilecacheFile=newFile(context.getCa