OKHttp框架的使用

首先,添加okhttp框架,在gradle文件中,添加
compile 'com.squareup.okhttp:okhttp:2.4.0'



一、okhttp的get請求示例

這個示例比較簡單,只到獲取json字符串

下面是

MainActivity
package myapp.czw.com.okhttp;

import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {
    String url="http://api3.naildaka.com/vapi/v2/nailstar/mall/getCommodityByCategory?categoryId=aa1530f0-0a91-11e6-89a8-b5f3843bccb3&keyword=&page=1";
    TextView tv;
    Handler handler=new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv= (TextView) findViewById(R.id.main_tv);
        tv.setMovementMethod(ScrollingMovementMethod.getInstance());//設置textview可以滾動,需要在佈局裏添加android:scrollbars="vertical"
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    final String aa=Utils.urlgetString(url);
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            //運行在UI線程
                            tv.setText(aa);
                        }
                    });
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

}

然後是okhttp的工具類,請求方法

package myapp.czw.com.okhttp;

import com.squareup.okhttp.Call;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;


public class Utils {

    public static String urlgetString(String url) throws Exception {
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder().url(url).build();
        Call call = okHttpClient.newCall(request);
        Response response=call.execute();
        if (response.isSuccessful()){
            return response.body().string();
        }
        return null;
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章