第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

怎樣才能在UI線程中等待okhttp返回結(jié)果才進(jìn)行下一步

怎樣才能在UI線程中等待okhttp返回結(jié)果才進(jìn)行下一步

寶慕林4294392 2019-03-30 18:14:16
在onCreate()方法中的代碼如下:kHttpClient mOkHttpClient = new OkHttpClient();RequestBody mRequestBody = new FormBody.Builder().add("imei",imei).build();        Request mRequest = new Request.Builder().post(mRequestBody).url(url).build();        mOkHttpClient.newCall(mRequest).enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {                e.printStackTrace();            }            @Override            public void onResponse(Call call, Response response) throws IOException {                if (response.code() == 404){                    Log.d(logTag,"請求缺少IMEI參數(shù)");                }                else if (response.code() == 405){                    Message message = new Message();                    message.what = 3;                    handler.sendMessage(message);                }else if (response.body().string() == "IMEIForbidden"){                    Message message = new Message();                    message.what = 4;                    handler.sendMessage(message);                }                String version = response.body().string();            }        });        我想要的邏輯是這樣的:從一個(gè)URL接口中獲取一個(gè)String值(上述代碼中的version),獲取到version值后再去調(diào)用下一個(gè)接口。在安卓中網(wǎng)絡(luò)請求得開線程,所以就用了okhttp的enqueue方法,可是在這個(gè)方法中獲取到的response值,怎么傳遞到UI線程中呢,并且讓UI線程的代碼等待獲取到這個(gè)值才繼續(xù)執(zhí)行
查看完整描述

6 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

//方法一

message.obj = version;


//方法二

Bundle bundle = new Bundle();

bundle.putCharSequence("你的KEY",version);

message.setData(bundle);


//UI里的handle里面用

Bundle bundle = message.getData();

String version = bundle.getCharSequence("你的KEY");


//或者直接

String version = message.getData().getCharSequence("你的KEY");


//當(dāng)然,注意判空哦


查看完整回答
反對 回復(fù) 2019-04-24
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

你請求到數(shù)據(jù)后直接把version 用msg.obj=version裝進(jìn)去,然后在OnCreate中handleMessage(Message msg)獲取version再繼續(xù)異步請求數(shù)據(jù)就可以啦啊


查看完整回答
反對 回復(fù) 2019-04-24
  • 6 回答
  • 0 關(guān)注
  • 1322 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)