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;
}
}