欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Android 獲取當前網(wǎng)速質(zhì)量調整網(wǎng)絡(luò )請求

在開(kāi)發(fā)中,有時(shí)候常常需要根據用戶(hù)當前的網(wǎng)速來(lái)做一些操作,比如圖片的加載,當網(wǎng)速非常好的時(shí)候,比如連接的是wifi,我們就會(huì )下載高分辨率的圖片,反之,當用戶(hù)使用的是2g網(wǎng)時(shí),我們則給他下載低分辨率的小圖,從而節省用戶(hù)流量。

而Facebook其實(shí)已經(jīng)給我們提供了這么一個(gè)庫,詳見(jiàn)network-connection-class。

使用其實(shí)超級簡(jiǎn)單,先加入依賴(lài)

compile ‘com.facebook.network.connectionclass:connectionclass:1.0.1‘

在該庫中,我們使用的主要是ConnectionClassManager這個(gè)類(lèi),這個(gè)類(lèi)中有幾個(gè)主要的方法。

  • getCurrentBandwidthQuality() 獲得當前網(wǎng)速的質(zhì)量,是一個(gè)枚舉類(lèi)型。
public enum ConnectionQuality {  /**   * Bandwidth under 150 kbps.   */  POOR,  /**   * Bandwidth between 150 and 550 kbps.   */  MODERATE,  /**   * Bandwidth between 550 and 2000 kbps.   */  GOOD,  /**   * EXCELLENT - Bandwidth over 2000 kbps.   */  EXCELLENT,  /**   * Placeholder for unknown bandwidth. This is the initial value and will stay at this value   * if a bandwidth cannot be accurately found.   */  UNKNOWN}
  • getDownloadKBitsPerSecond() 獲得每秒的下載速度

此外,我們可以獲得網(wǎng)絡(luò )質(zhì)量發(fā)生改變時(shí)的通知,比如從POOR變成了GOOD,我們只要注冊監聽(tīng)器即可,這是一個(gè)觀(guān)察者模式。

private ConnectionChangedListener listener = new ConnectionChangedListener();private class ConnectionChangedListener implements        ConnectionClassManager.ConnectionClassStateChangeListener {    @Override    public void onBandwidthStateChange(ConnectionQuality bandwidthState) {        Log.e("onBandwidthStateChange", bandwidthState.toString());    }}

我們在A(yíng)ctivity的onResume中注冊監聽(tīng)器,在onPause中取消注冊

    @Override    protected void onResume() {        super.onResume();        ConnectionClassManager.getInstance().register(listener);    }    @Override    protected void onPause() {        super.onPause();        ConnectionClassManager.getInstance().remove(listener);    }

之后,在網(wǎng)絡(luò )請求之前,我們需要調用開(kāi)始采樣的方法

 DeviceBandwidthSampler.getInstance().startSampling();

網(wǎng)絡(luò )請求完成后,結束采樣

DeviceBandwidthSampler.getInstance().stopSampling();

假設我們使用的是OkHttp

OkHttpClient client = new OkHttpClient();                Request.Builder builder = new Request.Builder();                Request request = builder.url("http://www.baidu.com").build();                DeviceBandwidthSampler.getInstance().startSampling();                client.newCall(request).enqueue(new Callback() {                    @Override                    public void onFailure(Call call, IOException e) {                        DeviceBandwidthSampler.getInstance().stopSampling();                        Log.e("TAG","onFailure:"+e);                    }                    @Override                    public void onResponse(Call call, Response response) throws IOException {                        DeviceBandwidthSampler.getInstance().stopSampling();                        Log.e("TAG","onResponse:"+response);                        final ConnectionQuality connectionQuality = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();                        final double downloadKBitsPerSecond = ConnectionClassManager.getInstance().getDownloadKBitsPerSecond();                        Log.e("TAG","connectionQuality:"+connectionQuality+" downloadKBitsPerSecond:"+downloadKBitsPerSecond+" kb/s");                        tv.post(new Runnable() {                            @Override                            public void run() {                                tv.setText("connectionQuality:"+connectionQuality+"\n"+"downloadKBitsPerSecond:"+downloadKBitsPerSecond+" kb/s");                            }                        });                    }                });

最終的效果如下圖所示

但是該庫只能獲得下載速度,上傳的速度無(wú)法獲得,使用的時(shí)候注意一下即可。

源碼下載

http://download.csdn.net/detail/sbsujjbcy/9438965

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
android中進(jìn)行https連接的方式
Android基于XMPP Smack Openfire下學(xué)習開(kāi)發(fā)IM(五)連接斷開(kāi)重連
Android BLE基礎操作框架
探索Android路由框架-ARouter
android完全退出應用程序
Android中退出多個(gè)Activity的兩個(gè)經(jīng)典方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久