如何在android studio中使用retrofit服务在请求中传递json信息
如何在翻修中以这些类型的请求传递请求数据. 解决方案 要考虑的主要因素是 Gson gson = new Gson(); String strJsonObject = gson.toJson(OBJECT_OF_YOUR_MODEL_CLASS); strJsonObject is string value you can pass as parameter 这是一个代码剪辑,如何实现它. ObjectModel objectModel = new ObjectModel(); objectModel.setMobile_number("123456789"); objectModel.setWork_number("12345789"); objectModel.setFax_number("123465"); objectModel.setFirst_name("first name");
0 2023-12-02
编程技术问答社区
如何使用Retrofit在android中调用图片上传网络服务(ASP.NET).asmx文件
我正在尝试使用Raturofit将图像文件从Android上传到Android到ASP.NET(Web Service-.ASMX文件). 我为此创建了Web方法,并且该Web方法正常工作,我也对Postman进行了测试. 但是,当我尝试从Android上传时,它将显示" 500内部服务器错误" Web方法(ASP.NET .ASMX文件) [WebMethod] public void UploadImage_http() { var request = HttpContext.Current.Request; var photo = request.Files["photo"]; photo.SaveAs(HttpContext.Current.Server.MapPath("images/thumbnail/"+photo.FileName)); JavaScriptSerializer js = new JavaScript
0 2023-12-02
编程技术问答社区
Android-如何在Robospice/retrofit中获得JSON格式的请求和响应
我是Robospice/Restrofit库的新手.我从Github那里得到了一些样本. https://github.com/octo-online/robobsospice - 样本/树/释放/Robospice-sample-retrofit . 我的理解: 请求是" githubrequest",响应是"贡献者". Web服务由GetSpiceManager().执行. 代码段: @Override protected void onStart() { super.onStart(); getSpiceManager().execute(githubRequest, "github", DurationInMillis.ONE_MINUTE, new ListContributorRequestListener()); } public final class ListCo
0 2023-12-02
编程技术问答社区
改造错误。预期是BEGIN_ARRAY但却是STRING
在API响应中,有时可以是数组,有时可以是字符串. 这里的详细信息是数组 { "ts": "2015-06-16 11:28:33","success": true,"error": false,"details": [ { "user_id": "563", "firstname": "K.Mathan" }, { "user_id": "566", "firstname": "Surya" }, { "user_id": "562", "firstname": "Idaya" } ]} 有时详细信息可以是字符串 { "ts": "2015-06-16 11:28:33", "success": true, "error": false, "details": "no data" } 这里的详细信息是字符串 如何从这种类型的响应中获取价值 我当前的声明是 @SerializedName(value="deta
0 2023-12-02
编程技术问答社区
改造2:用json对象发送文件
我在请求主体中发送对象,类似的东西: { "title":"test", "description":"test", "images":[] } @POST("create-data") Call publishData(@Body MyObject object); ,没有图像就可以正常工作.从文档中,我可以找到如何使用MultipartBody.Part上传到服务器,我的问题是: 如何同时上传多个图像? 可以将图像发送到对象内部,还是我需要单独发送? 非常感谢. 解决方案 现在使用服务器 请求成功 我参考文章: https://futurestud.io/blog/blog/Raturofit-2-how-how-to-upload-files-to-server @Multipart @POST("uploadHeadPic") Call u
0 2023-12-02
编程技术问答社区
Retrofit返回LinkedTreeMap而不是JSON
我正在使用Retrofit 2.0从返回JSON文本的Web服务中读取数据,但是以下代码响应是LinkedTreemap,我无法将其转换为JSON: 我的界面 public interface GeoAPIInterface { String ENDPOINT = "http://www.geoplugin.net/"; @GET("json.gp") Call getIP(@Query("ip") String ip); } 现在我从网站读取数据: Retrofit retrofit = new Retrofit.Builder() .baseUrl(GeoAPIInterface.ENDPOINT) .addConverterFactory(GsonConverterFactory.create()) .build(); GeoAPIInterface inBankA
0 2023-12-02
编程技术问答社区
我如何在Android中实现webhook?
我想在我将要观察的Android应用中使用URL,例如www.example.com/status,并将从服务器接收多个帖子请求.对于每个帖子请求,我将触发一个功能.我不明白如何在URL 24x7上实现侦听器.我想要的只是一个开始的地方.如果这是不可能的,那么推送通知是可行的选项吗? 注意:不应该在服务器上使用Webhook,它应该在客户端(Android)上,并且服务器应该在Webhook上发送请求. 解决方案 您可以使用firebase推动通知.使用Web服务器将推送通知发送到您的应用程序,并在Firebase Event Service中执行操作.
2 2023-11-30
编程技术问答社区
列表中没有使用recyclerview的retrofit。
基本上是使用Retrofit和ViewModel在Recyclerview中尝试显示列表........ 在调试OnResponse im获取200 response时,为什么不显示RecyClerview中的列表我不知道我在哪里出错 如果需要,我将发布更多代码 以下是代码:--- class Tables : BaseClassActivity() { lateinit var recyclerView: RecyclerView lateinit var recyclerAdapter: TableAdapter var Tablelist : MutableList = mutableListOf() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layo
2 2023-11-19
编程技术问答社区
使用retrofit和viewmodel的用户登录不工作
我的登录名不起作用.Im使用Raturofit和ViewModel ...实际上是登录的Sceapeerio显示过渡(登录页登录页),但它并没有移动到登录页面到HomePage .... 此方法model.ResponseData.observe没有接听电话 我不知道我要在哪里出错 需要帮助谢谢 登录: - class LoginActivity : AppCompatActivity() { lateinit var model: LoginViewModel override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.login_activity) val button = findViewById(R.id.plusbutton) v
0 2023-11-19
编程技术问答社区
为什么Retrofit不能正确编码带有方括号的查询字符串?
我正在使用Android应用中的网络层进行改造,但是我对URL编码有问题. 我必须像这样调用REST API: https://my_hostname.com/some_path?q=some_query¶m[0]=value1¶m[1]=value2&other_param=abcd 您可以看到查询字符串由某些不同类型的参数组成,因此我决定使用Map Map中的@QueryMap注释. q, param[1], param[0], other_param是地图的字符串键 我期待什么? 我希望URL中的方括号用%5B for '['和%5D编码'[',但这并非发生. 为什么会发生这种情况?正方形支架应以编码百分比进行编码.这是一个错误还是我做错了什么?我还尝试了@EncodedQueryMap注释,没有差异. 解决方案 查询名称永远不会编码. @QueryMap状态的
0 2023-11-10
编程技术问答社区
在 Retrofit 请求中动态添加不带值的查询参数
我有请求该设置为用户打开的服务列表. 请求具有以下格式: 服务参数列表("服务[10]&Service [1000]&Service [10000]")是动态创建的,每个参数都没有值.是否可以使用改造来实现这一目标? 解决方案 来自 retrofit文档: 用于复杂的查询参数组合可以使用Map. @GET("/group/{id}/users") List groupList(@Path("id") int groupId, @QueryMap Map options); 我想这将使您想实现的目标. 其他解决方案 我找到了解决方法. @GET("/setservices{services_query}") ServicesSetResponse setServices(@EncodedPath("services_query") String servicesQuery); ,然后:
0 2023-11-09
编程技术问答社区
Android Retrofit不显示错误,也不工作
以下改装声明不起作用,我在 build.gradel 中实现了适当的模块.几天内,代码工作正常,突然间它停止工作,也没有任何错误. Retrofit retrofit = new Retrofit.Builder() .baseUrl(MyImageInterface.IMAGEURL) .addConverterFactory(ScalarsConverterFactory.create()) .build(); public interface MyImageInterface {`` String IMAGEURL = connect.cons+"book_insert.php"; @FormUrlEncoded @POST("book_insert.php") Call getImageData( @Field("name") String name, @Field("im
2 2023-11-09
编程技术问答社区
使用 Retrofit(Android) 上传大型视频文件时出现 OutOfMemoryError 错误
对不起,我的英语.我尝试将大型视频文件上传到服务器,该文件超过50 MB.当我上传小文件时,所有文件都可以正常工作.在清单中,我设置了android:largeHeap="true"和android:hardwareAccelerated="false"对我没有帮助.以下是我的代码: 接口 @Multipart @POST("/api/upload") Observable uploadVideo(@Header("Authorization") String userToken, @Part MultipartBody.Part video); 方法返回文件: public static MultipartBody.Part getMultipartVideoBody(String pathVideo) { try {
0 2023-11-09
编程技术问答社区
Retrofit-IllegalArgumentException: unexpected url
我想使用改造将视频文件(从图库中选择)上传到服务器.但是它不起作用,并抛出异常" java.lang.illegalargumentException:意外的URL:192.168.1.7 ".我的代码在下面介绍. PostFile.java : public final class PostFile { public static final MediaType MEDIA_TYPE_MARKDOWN = MediaType.parse("vide/mp4"); private final OkHttpClient client = new OkHttpClient(); public void run(String path) throws Exception { File file = new File(path); Request request = new Request.Builder()
6 2023-11-09
编程技术问答社区
改造2文件下载/上传
我正在尝试使用Retrofit 2向下/上传文件,但找不到有关如何做的任何教程示例. 我的下载代码是: @GET("documents/checkout") public Call checkout(@Query(value = "documentUrl") String documentUrl, @Query(value = "accessToken") String accessToken, @Query(value = "readOnly") boolean readOnly); 和 Call call = RetrofitSingleton.getInstance(serverAddress) .checkout(document.getContentUrl(), apiToken, readOnly[i]); call.enqueue(new Callback() { @Over
0 2023-11-09
编程技术问答社区
单元测试。在模拟改造获取请求中出现NoSuchMethodError
当我仅运行Method testinsert()测试时,请毫无问题地完成,但是当我运行整个班级时,我会有一个错误: java.lang.NoSuchMethodError: com.dataart.kvarivoda.myapplication.api.PlacesApi.getNearbyPlaces(Ljava/lang/String;Ljava/lang/String;I)Lretrofit2/Call; at GetPlacesTest.testLogin(GetPlacesTest.java:61) .... retrofit @get接口是: public interface PlacesApi { @GET("/maps/api/place/nearbysearch/json") PlacesResults getNearbyPlaces(@Query("key") String key, @Query("location") String locatio
0 2023-11-07
编程技术问答社区
如何在改造调用中抛出一个异常
我正在使用Raturofit进行API调用,我想编写一个单元测试以检查它是否返回异常. 我想强迫改装呼叫返回异常 datarepository class DataRepository @Inject constructor( private val apiServiceInterface: ApiServiceInterface ) { suspend fun getCreditReport(): CreditReportResponse { try { val creditReport = apiServiceInterface.getDataFromApi() // THIS SHOULD RETURN AN EXCEPTION AND I WANT TO CATCH THAT return CreditReportResponse(creditReport, CreditR
0 2023-11-07
编程技术问答社区
用Mockito模拟Retrofit服务导致ExceptionInInitializerError
我尝试了: androidTestCompile 'org.mockito:mockito-core:2.0.26-beta' ... public interface CustomerService { @POST("url") Observable createSession(@Body Credential credential); } ... @RunWith(AndroidJUnit4.class) @LargeTest public class LoginActivityTests { @Before public void setUp() { customerService = Mockito.mock(CustomerService.class); } @Test public void testLoginGoToNextScreen() throws
0 2023-11-07
编程技术问答社区
无法验证来自RxJava订阅者的模拟方法调用
我正在尝试在我的Android应用程序中测试主持人.我正在尝试测试这样的方法: @Override public boolean loadNextPage() { if (!mIsLoading) { mIsLoading = true; if (mViewReference.get() != null) { mViewReference.get().showProgress(); } mService.search(mSearchQuery, ++mCurrentPage) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(itemsPage -> {
0 2023-11-07
编程技术问答社区
用Retrofit和Mockito进行Android单元测试
我将API调用方法与活动代码分开,我想对这些方法进行单元测试,一个示例: 接口: public interface LoginService { @GET("/auth") public void basicLogin(Callback response); } 这是进行调用的方法,在主要活动中,我通过事件总线获得对象. public class AuthAPI { private Bus bus; LoginService loginService; public AuthAPI(String username, String password) { this.bus = BusProvider.getInstance().getBus(); loginService = ServiceGenerator.createService(LoginService.class,
6 2023-11-07
编程技术问答社区