package com.chinaztt.fda.test.okhttp;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.chinaztt.fda.ui.R;
import com.chinaztt.fda.ui.base.BaseActivity;
import com.chinaztt.fda.utils.Log;
import com.squareup.okhttp.Callback;
import com.squareup.okhttp.Headers;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import java.io.IOException;
/**
* 当前类注释:Okhttp 网络请求框架 实例demo功能测试入口
* 项目名:FastDev4Android
* 包名:com.chinaztt.fda.test.okhttp
* 作者:江清清 on 15/12/4 15:56
* 邮箱:jiangqqlmj@163.com
* QQ: 781931404
* 公司:江苏中天科技软件技术有限公司
*/
public class OkhttpDemoActivity extends BaseActivity {
private Button btn_one,btn_two;
private LinearLayout top_bar_linear_back;
private TextView top_bar_title,tv_result;
private OkHttpClient client;
private Response response;
private Request request;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ok_http_demo_layout);
btn_one=(Button)this.findViewById(R.id.btn_one);
btn_two=(Button)this.findViewById(R.id.btn_two);
top_bar_title=(TextView)this.findViewById(R.id.top_bar_title);
tv_result=(TextView)this.findViewById(R.id.tv_result);
top_bar_title.setText("Okhttp实例");
top_bar_linear_back=(LinearLayout)this.findViewById(R.id.top_bar_linear_back);
top_bar_linear_back.setOnClickListener(new CustomOnClickListener());
btn_one.setOnClickListener(new CustomOnClickListener());
btn_two.setOnClickListener(new CustomOnClickListener());
client=new OkHttpClient();
}
class CustomOnClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.top_bar_linear_back:
OkhttpDemoActivity.this.finish();
break;
case R.id.btn_one://同步get
request = new Request.Builder()
.url("http://interface.zttmall.com/update/mallUpdate")
.build();
new Thread(new Runnable() {
@Override
public void run() {
try {
response= client.newCall(request).execute();
Headers responseHeaders = response.headers();
for (int i = 0; i < responseHeaders.size(); i++) {
Log.d("zttjiangqq", responseHeaders.name(i) + ": " + responseHeaders.value(i));
}
final String message=response.body().string();
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_result.setText(message);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
break;
case R.id.btn_two: //异步Get
request = new Request.Builder()
.url("http://www.baidu.com")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
}
@Override
public void onResponse(Response response) throws IOException {
final String message=response.body().string();
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_result.setText(message);
}
});
}
});
break;
}
}
}
}