当前位置: 首页 > 知识库问答 >
问题:

在Android系统中如何处理带有改型的206代码?

呼延才
2023-03-14
Observable<CompanyListRest> vAllCompanyList = api.findAllCompanys1WithParams(vParamsMap);

我尝试用onNext添加订阅者,但它不起作用

如果不清楚很抱歉,谢谢

共有1个答案

尉迟鸿熙
2023-03-14

好吧,你的问题不是很清楚,但如果你想重复一个动作,你可以使用“接口”。例如,这是我的ApiInterface

public interface ApiInterface {

@POST("register.php")
Call<User> regCall(@Query("name") String Name, @Query("username") String UserName, @Query("email") String email, @Query("password") String Password);

@GET("login.php")
Call<User> loginCall(@Query("username") String UserName,@Query("email") String email, @Query("password") String Password);

}

这是我的ApI类

public class API {


private static final String BASE_URL = "http://192.168.1.6/uni/";
public static Retrofit myRetrofit = null;

public static Retrofit getAPI() {

    if (myRetrofit == null) {

        myRetrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

    }

    return myRetrofit;

}
apiInterface = API.getAPI().create(ApiInterface.class);
Call<User> logCall = MainActivity.apiInterface.loginCall(logUser, logEmail, logPassword);

    logCall.enqueue(new Callback<User>() {
        @Override
        public void onResponse(Call<User> call, Response<User> response) {

            if (Objects.requireNonNull(response.body()).getApiResposnse().equals("SUCCESS")) {
                Toast.makeText(getActivity(), "You login successfully!", Toast.LENGTH_SHORT).show();
                prefManager.setLogin(true);
                prefManager.createLoginSession(logUser,logEmail);
                Intent i = new Intent(getActivity(), firstPage.class);
                startActivity(i);
                Objects.requireNonNull(getActivity()).finish();
                

            } else if (response.body().getApiResposnse().equals("FAILED")) {
                Toast.makeText(getActivity(), "LoginFragment failed!", Toast.LENGTH_SHORT).show();
                Toast.makeText(getActivity(), "Username or Password incorrect. please try again", Toast.LENGTH_SHORT).show();
            }

        }

        @Override
        public void onFailure(Call<User> call, Throwable t) {

            String loginError = "Connection Error!";
            Toast.makeText(getContext(), loginError + t, Toast.LENGTH_SHORT).show();

        }
    });
 类似资料:
  • 最近我开始使用reverfit2,我遇到了一个解析空响应体的问题。我有一个服务器,它只响应http代码,没有任何内容在响应体。 我如何只处理关于服务器响应的元信息(报头、状态代码等)?

  • 在onMessageReceived方法中,我将一些数据保存在本地数据库中。 如果我点击通知时应用程序在后台,它会将我重定向到launcher活动。在这里,我正在处理来自包的传入数据,并将其保存在本地数据库中。

  • POJO: 在上面的代码POJO TrackerRefResponse.java前缀responseMessage被设置为responseMessage类型的string或object,所以我们可以用同名的ref变量(java basics:)创建POJO,所以我正在为Referfit中的dynamic寻找相同的解决方案。我知道这在带有异步任务的普通http客户端中非常容易,但这不是REST-AP

  • 问题内容: 我的用户空间应用程序有时会在收到EINTR信号后以某种方式阻塞。 我用strace记录的内容: 我可以捕获EINTR信号吗,如何重复有关的调用,例如写入,读取或选择?即使使用与系统调用一起使用的第三方库,我如何确定EINTR发生在哪里? 为什么收到EINTR后我的应用程序被完全阻止(请参阅strace转储:我发送了SIGUSR1,通常应该处理)?为什么futex()将ERESTARTS

  • 本文向大家介绍如何在Java中处理Selenium中的代理?,包括了如何在Java中处理Selenium中的代理?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助PROXY类在Java中使用Selenium处理代理。

  • 我的服务器为所有请求返回一个基本的JSON结构,如下所示: 其中可以是true或false,数据可以返回许多内容,从到应用程序可能需要的数据。 需要更改/添加到我的改型API调用中的内容是什么?