Android 如何在安卓系统中使用Regulation设置计时器在安卓系统中使用Regulation 2

Android 如何在安卓系统中使用Regulation设置计时器在安卓系统中使用Regulation 2,android,retrofit2,Android,Retrofit2,我正试图在30秒内得到答复,但我无法及时得到答复。我正在使用改装2进行API调用。在Postman中,使用emailId和password检查以获得成功响应。我的应用程序也得到了成功响应,但成功后,活动不会移动到下一个活动 有人能帮我改装一下设置超时的吗 String url = "xxxxxx"; Retrofit retrofit = null; Log.d("123", "retrofit"); if (retrofit == null) { retrofit = new Ret

我正试图在30秒内得到答复,但我无法及时得到答复。我正在使用
改装2
进行API调用。在
Postman
中,使用
emailId
password
检查以获得成功响应。我的应用程序也得到了成功响应,但成功后,活动不会移动到下一个活动

有人能帮我改装一下设置超时的

String url = "xxxxxx";
Retrofit retrofit = null;
Log.d("123", "retrofit");

if (retrofit == null) {
    retrofit = new Retrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create()).build();
    Log.d("123", "build();");
}

final ProgressDialog dialog = new ProgressDialog(LoginActivity.this);
dialog.setMessage("Authenticating...." + 30000 / 1000 + " Second(s)");
dialog.setIndeterminate(false);

new CountDownTimer(30000, 1000) {

    public void onTick(long millisUntilFinished) {
        // You don't need anything here
        dialog.setMessage("Authenticating....");
        if (!dialog.isShowing()) dialog.show();
    }

    public void onFinish() {
        if (dialog.isShowing()) dialog.dismiss();
    }
}.start();

API1 service = retrofit.create(API1.class);
Call<Login> call = service.authenticate(emailId, password);
Log.i(TAG, "Sending---" + url + service + url + "\n" + "emailId:" + emailId + "\n" + "password:" + password);

call.enqueue(new Callback<Login>() {

    @Override
    public void onResponse(Call<Login> call, Response<Login> response) {

        if (response != null && response.isSuccessful() && response.code() == 200) {
            String status = response.body().getStatus().toString();
            Log.i(status, "success");
            if (status.equals("success")) {
                // dialog.dismiss();
                Toast.makeText(LoginActivity.this, "Login successfully", Toast.LENGTH_SHORT).show();
                Intent mainIntent;
                mainIntent = new Intent(LoginActivity.this, DeviceControlActivity.class);
                startActivity(mainIntent);
                finish();
            } else {
                Toast.makeText(LoginActivity.this, "No Response from the server", Toast.LENGTH_SHORT).show();
            }
        } else {
            Toast.makeText(LoginActivity.this, "Invalid EmailId and password", Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onFailure(Call<Login> call, Throwable t) {
        // Toast.makeText(LoginActivity.this, "Some error occurred -> ", Toast.LENGTH_LONG).show();;
        // dialog.dismiss();
    }
});
String url=“xxxxxx”;
改装改装=空;
日志d(“123”,“改装”);
如果(改装==null){
改装=新建改装.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create()).build();
Log.d(“123”,“build();”);
}
final ProgressDialog=新建ProgressDialog(LoginActivity.this);
setMessage(“正在验证…”+30000/1000+“秒”);
dialog.setUndeterminate(false);
新的倒计时(300001000){
公共void onTick(长毫秒未完成){
//你不需要任何东西
setMessage(“身份验证…”);
如果(!dialog.isShowing())dialog.show();
}
公共无效onFinish(){
if(dialog.isShowing())dialog.disease();
}
}.start();
API1服务=改装.create(API1.class);
Call Call=服务。身份验证(emailId、密码);
Log.i(标记“发送----”+url+服务+url+“\n”+”emailId:“+emailId+”\n“+”密码:“+password”);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
if(response!=null&&response.issucessful()&&response.code()==200){
字符串状态=response.body().getStatus().toString();
日志i(状态,“成功”);
如果(状态等于(“成功”)){
//dialog.dismise();
Toast.makeText(LoginActivity.this,“登录成功”,Toast.LENGTH_SHORT.show();
意图主要意图;
mainIntent=新意图(LoginActivity.this、DeviceControlActivity.class);
星触觉(主旨);
完成();
}否则{
Toast.makeText(LoginActivity.this,“服务器无响应”,Toast.LENGTH_SHORT.show();
}
}否则{
Toast.makeText(LoginActivity.this,“无效的电子邮件ID和密码”,Toast.LENGTH_SHORT.show();
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
//Toast.makeText(LoginActivity.this,“发生了一些错误->”,Toast.LENGTH_LONG.show();;
//dialog.dismise();
}
});

您可以使用设置读取和连接超时

您需要在
build.gradle

实现'com.squareup.okhttp3:okhttp:3.12.1'

示例

OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
        .connectTimeout(40, TimeUnit.SECONDS)
        .readTimeout(60, TimeUnit.SECONDS)
        .writeTimeout(60, TimeUnit.SECONDS)
        .build();

Retrofit retrofit = new Retrofit.Builder()
        .client(okHttpClient)
        .baseUrl(Constants.WEB_SERVICE)
        .addConverterFactory(GsonConverterFactory.create(gson))
        .build();

您可以使用设置读取和连接超时

您需要在
build.gradle

实现'com.squareup.okhttp3:okhttp:3.12.1'

示例

OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
        .connectTimeout(40, TimeUnit.SECONDS)
        .readTimeout(60, TimeUnit.SECONDS)
        .writeTimeout(60, TimeUnit.SECONDS)
        .build();

Retrofit retrofit = new Retrofit.Builder()
        .client(okHttpClient)
        .baseUrl(Constants.WEB_SERVICE)
        .addConverterFactory(GsonConverterFactory.create(gson))
        .build();

请不要重复问题。简单地用你拥有的任何新信息、你尝试过的任何新代码编辑这篇文章,或者解释为什么任何发布的答案都不起作用,都会把它推到活动队列的顶部。我已将其作为较新版本的副本关闭,因为您似乎已经在那里获得了解决方案,但是,将来,请只编辑原始版本。@IlmariKaronen我已再次更新了重复的目标问题检查请不要重复问题。简单地用你拥有的任何新信息、你尝试过的任何新代码编辑这篇文章,或者解释为什么任何发布的答案都不起作用,都会把它推到活动队列的顶部。我已将此作为较新版本的副本关闭,因为您似乎已经获得了解决方案,但以后请编辑原始版本。@IlmariKaronen我已更新了重复目标问题检查againit显示错误newBuilder()更新的答案。请检查添加此计时器后,控制器是否将转到此类DeviceControlActivity.Classic如果您获得成功响应,它将转到,这基本上会增加连接/读取超时。其他逻辑由您决定,它显示错误newBuilder()更新的答案。请检查添加此计时器后,控制器是否将转到此类DeviceControlActivity.Classic如果您获得成功响应,它将转到,这基本上会增加连接/读取超时。其他逻辑由您决定